首页 > 编程语言 >GeoServer改造Springboot源码十(样式管理设计)

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

时间:2024-07-02 11:58:48浏览次数:3  
标签:style Springboot 样式 styleId 说明 源码 参数 GeoServer null

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"

  }

}

标签:style,Springboot,样式,styleId,说明,源码,参数,GeoServer,null
From: https://blog.csdn.net/junlong750/article/details/140122211

相关文章

  • 基于SpringBoot+大数据+协同过滤推荐算法的电商商品推荐系统设计和实现(源码+LW+部署
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • 基于SpringBoot+数据可视化+协同过滤算法的个性化视频推荐系统设计和实现(源码+LW+部
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • springboot项目登陆校验————基于Jwt令牌和Fliter / Interceptor
    springboot项目登陆校验————基于Jwt令牌和Fliter/Interceptor文章目录springboot项目登陆校验————基于Jwt令牌和Fliter/Interceptor1.概述2.Jwt令牌2.1Jwt令牌的组成2.2Jwt登录认证流程2.3代码实现3.方法1:Fliter过滤器3.1简介3.1代码实现4.方法2:Interce......
  • springboot视频网站系统的设计与实现
    文章目录目录文章目录论文目录项目介绍开发环境系统实现论文参考论文目录1绪论1.1 研究背景1.2目的和意义1.3论文结构安排2 相关技术2.1 SpringBoot框架简介2.2B/S架构介绍2.3MySQL数据库介绍2.4JAVA语言介绍3系统分析3.1系统可行性......
  • 【Springboot】基于AOP实现操作日志记录
    基于AOP实现操作日志记录文章目录基于AOP实现操作日志记录前言一、AOP1.介绍2.AOP核心概念二、基于AOP实现操作日志记录1.准备工作2.创建自定义注解和切面类3.实现日志记录总结前言 在springboot项目中,往往需要在用户完成某些操作(例如:增,删,改)时,能够将相关操作信......
  • GGTalk 开源即时通讯系统源码剖析之:聊天消息防错漏机制
    继上篇《GGTalk开源即时通讯系统源码剖析之:客户端全局缓存及本地存储》GGTalk客户端的全局缓存以及客户端的本地持久化存储。接下来我们将介绍GGTalk的聊天消息防错漏机制。GGTalkV8.0 对消息的可靠性,即消息的不丢失和不重复做了一系列优化处理,以保证不会错漏消息。这篇文......
  • springboot健身房管理系统-计算机毕业设计源码031807
    摘 要大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在健身房管理的要求下,开发一款整体式结构的健身房管理系统,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定......
  • 毕业设计-基于Springboot+Vue的班级综合测评管理系统的设计与实现(源码+LW+包运行)
    基于SpringBoot+Vue的班级综合测评管理系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1N_GWua74rAi1Qtkj1VpmHQ?pwd=zmut随着互联网技术的高速发展,人们生活的各方面都受到互联......
  • 毕业设计-基于Springboot+Vue的冬奥会科普系统的设计与实现(源码+LW+包运行)
    基于SpringBoot+Vue的冬奥会科普系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1YFTiNrYkLJAyvU40nmzbSg?pwd=x44b任何平台都要遵循平台设计的基本流程,本平台也不例外,同样需要......
  • 毕业设计-基于Springboot+Vue的校友社交系统的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89460925基于SpringBoot+Vue的校友社交系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1gbqldVNoi7Shkp9jlM-fzg?pwd=tk......