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"

  }

}

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
geoserver是一个开源的地理信息系统服务器,它用于发布地理空间数据,并提供对这些数据的操作和管理。而springboot是一个开源的Java框架,用于构建微服务架构的应用程序。如果要将geoserverspringboot进行整合,可以采取以下一些改造措施。 首先,可以使用springboot提供的注解和配置来重新组织geoserver的代码结构,使其更符合微服务架构的要求。这包括将geoserver的功能模块化,将各个功能拆分为独立的服务,并使用springboot的依赖注入和控制反转来管理这些服务之间的依赖关系。 其次,可以利用springboot的自动配置特性来简化geoserver的配置过程。通过编写适当的自动配置类和starter模块,可以将geoserver的配置过程简化为几行代码,从而提高开发者的工作效率。 另外,可以利用springboot的监控和管理功能来增强geoserver的运行时管理能力。通过整合springboot actuator模块,可以实现对geoserver的性能监控、健康检查、日志管理等功能,从而更好地掌握geoserver的运行状态和健康状况。 最后,可以利用springboot的集成测试框架来编写对geoserver的集成测试,从而保证geoserverspringboot的整合过程是正确无误的。通过编写一系列的单元测试和集成测试,可以提高geoserverspringboot整合的稳定性和可靠性。 综上所述,通过对geoserver进行一系列的改造和整合,可以使其更好地适应于微服务架构的应用程序中,提高地理信息系统的灵活性、可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值