自学内容网 自学内容网

GeoServer改造Springboot源码十(样式管理设计)

GeoServer改造Springboot源码一(公共部分)

GeoServer改造Springboot源码二(数据源管理设计)

GeoServer改造Springboot源码三(数据源管理代码)

GeoServer改造Springboot源码四(图层管理设计)

GeoServer改造Springboot源码五(图层管理代码)

GeoServer改造Springboot源码六(工作区管理设计)

GeoServer改造Springboot源码七(工作区管理代码)

GeoServer改造Springboot源码八(图层预览设计)

GeoServer改造Springboot源码九(图层预览代码)

GeoServer改造Springboot源码十(样式管理设计)-CSDN博客

GeoServer改造Springboot源码十一(样式管理代码)-CSDN博客

一、界面设计

图 1样式管理列表

图 2SLD样式新增

图 3JSON样式新增

图 4SLD样式编辑

图 5JSON样式编辑

图 6样式预览

图 7SLD样式关联列表

二、功能描述

  1. 样式列表:展示样式名称、样式格式、工作区、创建时间、修改时间等信息的分页列表;
  2. 创建/编辑:选择SLD(GeoServer样式)和JSON(Mapbox样式)格式,分别填写对应格式的样式相关信息;样式名称重复不能保存。
  3. 预览:预览绑定此样式的图层,默认样式优先级大于附加样式优先级;
  4. 关联:编辑关联图层的默认样式和附加样式;取消默认样式,系统会指定一个默认样式“generic”。
  5. 删除:根据ID删除单条记录。

 三、接口设计

样式管理分页列表

版本说明

V1.0

服务地址

style/getStylePageList

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

keywords

String

关键字

pageNum

Int

当前页

pageSize

Int

每一页的大小

workspaceName

String

工作区名称

返回结果

{

  "code": 200,

  "msg": null,

  "data": {

    "pageNum": 1,

    "pageSize": 10,

    "pages": 1,

    "total": 6,

    "pageData": [

      {

        "styleId": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151",

        "styleName": "xa_sthx_poly",

        "workspaceName": null,

        "workspaceId": null

      },

      {

        "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb7",

        "styleName": "generic",

        "workspaceName": null,

        "workspaceId": null

      },

      {

        "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb8",

        "styleName": "raster",

        "workspaceName": null,

        "workspaceId": null

      },

      {

        "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb9",

        "styleName": "polygon",

        "workspaceName": null,

        "workspaceId": null

      },

      {

        "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fba",

        "styleName": "line",

        "workspaceName": null,

        "workspaceId": null

      },

      {

        "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fbb",

        "styleName": "point",

        "workspaceName": null,

        "workspaceId": null

      }

    ]

  }

}

SLD样式创建

版本说明

V1.0

服务地址

style/addSldStyle

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "workspaceId": "WorkspaceInfo.e60e1a1e-ec69-4b5f-b9eb-b6475b8d5621",

  "rawStyle": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<StyledLayerDescriptor xmlns=\"http://www.opengis.net/sld\" xmlns:ogc=\"http://www.opengis.net/ogc\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:se=\"http://www.opengis.net/se\" version=\"1.1.0\" xsi:schemaLocation=\"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <NamedLayer>\n    <se:Name>xa_sthx_4495</se:Name>\n    <UserStyle>\n      <se:Name>xa_sthx_4495</se:Name>\n      <se:FeatureTypeStyle>\n        <se:Rule>\n          <se:Name>Single symbol</se:Name>\n          <se:PolygonSymbolizer>\n            <se:Fill>\n              <se:SvgParameter name=\"fill\">#f60318</se:SvgParameter>\n              <se:SvgParameter name=\"fill-opacity\">0</se:SvgParameter>\n            </se:Fill>\n            <se:Stroke>\n              <se:SvgParameter name=\"stroke\">#fb0a47</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-width\">1</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-linejoin\">bevel</se:SvgParameter>\n            </se:Stroke>\n          </se:PolygonSymbolizer>\n        </se:Rule>\n      </se:FeatureTypeStyle>\n    </UserStyle>\n  </NamedLayer>\n</StyledLayerDescriptor>\n",

  "hasDefault": false,

  "styleName": "xa_sthx_poly",

  "format": "SLD"

}

返回结果

{

  "code": 200,

  "msg": "新增SLD样式成功",

  "data": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151"

}

JSON样式创建

版本说明

V1.0

服务地址

style/addJsonStyle

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "workspaceId": "WorkspaceInfo.8078c2d5-ddf0-4d34-a726-57491c41a2d8",

  "rawStyle": "{\"id\":\"background\",\"type\":\"background\",\"paint\":{\"background-color\":\"rgba(185, 148, 148, 1)\"}}",

  "hasDefault": false,

  "styleName": "third-json",

  "format": "JSON"

}

返回结果

{

  "code": 200,

  "msg": "新增JSON样式成功",

  "data": "StyleInfo.3aa34eac-f86b-48eb-801c-e38de98c2365"

}

SLD样式编辑

版本说明

V1.0

服务地址

style/editSldStyle

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "styleId":"StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151",

  "workspaceId": "WorkspaceInfo.8078c2d5-ddf0-4d34-a726-57491c41a2d8",

  "rawStyle": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<StyledLayerDescriptor xmlns=\"http://www.opengis.net/sld\" xmlns:ogc=\"http://www.opengis.net/ogc\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:se=\"http://www.opengis.net/se\" version=\"1.1.0\" xsi:schemaLocation=\"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <NamedLayer>\n    <se:Name>xa_sthx_4495</se:Name>\n    <UserStyle>\n      <se:Name>xa_sthx_4495</se:Name>\n      <se:FeatureTypeStyle>\n        <se:Rule>\n          <se:Name>Single symbol1</se:Name>\n          <se:PolygonSymbolizer>\n            <se:Fill>\n              <se:SvgParameter name=\"fill\">#f60318</se:SvgParameter>\n              <se:SvgParameter name=\"fill-opacity\">0</se:SvgParameter>\n            </se:Fill>\n            <se:Stroke>\n              <se:SvgParameter name=\"stroke\">#fb0a47</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-width\">1</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-linejoin\">bevel</se:SvgParameter>\n            </se:Stroke>\n          </se:PolygonSymbolizer>\n        </se:Rule>\n      </se:FeatureTypeStyle>\n    </UserStyle>\n  </NamedLayer>\n</StyledLayerDescriptor>\n",

  "hasDefault": false,

  "styleName": "first-style2",

  "format": "SLD"

}

返回结果

{

  "code": 200,

  "msg": "修改SLD样式成功",

  "data": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151"

}

JSON样式编辑

版本说明

V1.0

服务地址

style/editJsonStyle

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "styleId":"StyleInfo.3aa34eac-f86b-48eb-801c-e38de98c2365",

  "workspaceId": "WorkspaceInfo.8078c2d5-ddf0-4d34-a726-57491c41a2d8",

  "rawStyle": "{\"id\":\"background\",\"type\":\"background\",\"paint\":{\"background-color\":\"rgba(23, 148, 148, 1)\"}}",

  "hasDefault": false,

  "styleName": "third-update-json",

  "format": "JSON"

}

返回结果

{

  "code": 200,

  "msg": "修改JSON样式成功",

  "data": "StyleInfo.3aa34eac-f86b-48eb-801c-e38de98c2365"

}

SLD样式详情

版本说明

V1.0

服务地址

style/sld/getDetail

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

styleId

String

样式id

返回结果

{

  "code": 200,

  "msg": "获取SLD样式详情成功",

  "data": {

    "styleId": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151",

    "styleName": "first-style2",

    "workspaceName": "secondWP",

    "workspaceId": "WorkspaceInfo.8078c2d5-ddf0-4d34-a726-57491c41a2d8",

    "format": "SLD",

    "rawStyle": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<StyledLayerDescriptor xmlns=\"http://www.opengis.net/sld\" xmlns:ogc=\"http://www.opengis.net/ogc\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:se=\"http://www.opengis.net/se\" version=\"1.1.0\" xsi:schemaLocation=\"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <NamedLayer>\n    <se:Name>xa_sthx_4495</se:Name>\n    <UserStyle>\n      <se:Name>xa_sthx_4495</se:Name>\n      <se:FeatureTypeStyle>\n        <se:Rule>\n          <se:Name>Single symbol1</se:Name>\n          <se:PolygonSymbolizer>\n            <se:Fill>\n              <se:SvgParameter name=\"fill\">#f60318</se:SvgParameter>\n              <se:SvgParameter name=\"fill-opacity\">0</se:SvgParameter>\n            </se:Fill>\n            <se:Stroke>\n              <se:SvgParameter name=\"stroke\">#fb0a47</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-width\">1</se:SvgParameter>\n              <se:SvgParameter name=\"stroke-linejoin\">bevel</se:SvgParameter>\n            </se:Stroke>\n          </se:PolygonSymbolizer>\n        </se:Rule>\n      </se:FeatureTypeStyle>\n    </UserStyle>\n  </NamedLayer>\n</StyledLayerDescriptor>\n",

    "legend": {

      "onlineResource": null,

      "width": 0,

      "heignt": 0,

      "format": null

    },

    "hasDefault": false

  }

}

SLD默认样式列表

版本说明

V1.0

服务地址

style/sld/default

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

返回结果

{

  "code": 200,

  "msg": "获取SLD默认样式列表成功",

  "data": [

    {

      "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb7",

      "styleName": "generic",

      "workspaceName": null,

      "workspaceId": null,

      "dateCreated": null,

      "dateModified": null

    },

    {

      "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb8",

      "styleName": "raster",

      "workspaceName": null,

      "workspaceId": null,

      "dateCreated": null,

      "dateModified": null

    },

    {

      "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fb9",

      "styleName": "polygon",

      "workspaceName": null,

      "workspaceId": null,

      "dateCreated": null,

      "dateModified": null

    },

    {

      "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fba",

      "styleName": "line",

      "workspaceName": null,

      "workspaceId": null,

      "dateCreated": null,

      "dateModified": null

    },

    {

      "styleId": "StyleInfoImpl-66ef5c1a:18b188aa48a:-7fbb",

      "styleName": "point",

      "workspaceName": null,

      "workspaceId": null,

      "dateCreated": null,

      "dateModified": null

    }

  ]

}

SLD样式预览

版本说明

V1.0

服务地址

style/previewSld

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

返回结果

{ "code" : 0, "data" : [ { } ], "message" : "string" }

JSON样式预览

版本说明

V1.0

服务地址

style/previewJson

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

返回结果

{ "code" : 0, "data" : [ { } ], "message" : "string" }

样式删除

版本说明

V1.0

服务地址

style/deleteStylerById

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

styleId

String

样式id

返回结果

{

  "code": 200,

  "msg": "xa-road删除成功",

  "data": "StyleInfo.6c9c1ac3-9ce5-4fe2-b60b-47c0f4481952"

}

样式批量删除

版本说明

V1.0

服务地址

style/deleteStylerByIds

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

styleId

String

样式id

返回结果

{

  "code": 200,

  "msg": "xa-road删除成功",

  "data": "StyleInfo.6c9c1ac3-9ce5-4fe2-b60b-47c0f4481952"

}

样式发布-样式发布界面的图层列表

版本说明

V1.0

服务地址

style/publishing/info

方法

GET

参数说明

名称

数据类型

是否必填

参数说明

输入参数

styleId

String

样式id

keywords

String

搜索关键字(匹配图层名称)

current

int

当前页

pageSize

int

每页数

返回结果

{

  "code": 200,

  "msg": null,

  "data": {

    "pageNum": 1,

    "pageSize": 10,

    "pages": 1,

    "total": 2,

    "pageData": [

      {

        "workspaceName": "firstWP",

        "layerId": "LayerInfo.764044e2-6c13-47bf-8efc-a0bd523706c7",

        "layerName": "6aa24711a54b40bfbab4bc35582dd017",

        "hasDefault": true,

        "associated": false

      },

      {

        "workspaceName": "firstWP",

        "layerId": "LayerInfo.dc62e605-1299-47e0-8eb1-d48b57e9ddd7",

        "layerName": "UTM2GTIF",

        "hasDefault": false,

        "associated": false

      }

    ]

  }

}

Response head

样式发布-默认操作

版本说明

V1.0

服务地址

style/defaultStyler

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "layerId": "LayerInfo.764044e2-6c13-47bf-8efc-a0bd523706c7",

  "styleId": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151",

  "styleState": true

}

返回结果

{

  "code": 200,

  "msg": "修改成功",

  "data": null

}

样式发布-关联操作

版本说明

V1.0

服务地址

style/subjoinStyler

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "layerId": "LayerInfo.764044e2-6c13-47bf-8efc-a0bd523706c7",

  "styleId": "StyleInfo.74164441-d0ef-4f09-96a1-c771962f7151",

  "styleState": true

}

返回结果

{

  "code": 200,

  "msg": "修改成功",

  "data": null

}

获取边界信息接口

版本说明

V1.0

服务地址

layerGroup/calculateBoxInfo

方法

POST

参数说明

名称

数据类型

是否必填

参数说明

输入参数

{

  "layers": [

     {

        "name": "line",

        "defaultStyle": true,

        "style": "line"

      },

      {

        "name": "polygon",

        "defaultStyle": true,

        "style": "polygon"

      }

  ]

}

返回结果

{

  "code": 200,

  "msg": null,

  "data": {

    "minX": 21.897338,

    "minY": 118.1231864,

    "maxX": 26.3797419,

    "maxY": 122.082368,

    "crs": "EPSG:4326"

  }

}


原文地址:https://blog.csdn.net/junlong750/article/details/140122211

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!