GeoServer样式style设置

  • GeoServer Style定义
  • CSS Style
    • CSS Style安装
    • CSS Style定义
    • 应用自定义样式
  • 利用其它软件配图并将Style导入GeoServer
    • 利用udig
    • 利用QGIS

GeoServer Style定义

GeoServer样式支持SLD、CSS、YSLD、MBStyle四种方式定义Style,默认支持的SLD方式,其它三种需要扩展,SLD通过xml标签定义style,虽然强大但也比较复杂,可读性差,代码量大,下面是一个定义了点的填充方式和大小的SLD Style


<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"xmlns="http://www.opengis.net/sld"xmlns:ogc="http://www.opengis.net/ogc"xmlns:xlink="http://www.w3.org/1999/xlink"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><NamedLayer><Name>Simple point</Name><UserStyle><Title>GeoServer SLD Cook Book: Simple point</Title><FeatureTypeStyle><Rule><PointSymbolizer><Graphic><Mark><WellKnownName>circle</WellKnownName><Fill><CssParameter name="fill">#FF0000</CssParameter></Fill></Mark><Size>6</Size></Graphic></PointSymbolizer></Rule></FeatureTypeStyle></UserStyle></NamedLayer>
</StyledLayerDescriptor>

这么长一段代码只实现了两个功能,而且根本看不懂干了什么,所以如果懂css,建议使用CSS Style,代码少,简单易读。

CSS Style

CSS Style安装
  • 下载扩展包
wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.14.1/extensions/geoserver-2.14.1-css-plugin.zip

ps:这里下载的2.14.1,其它版本请在官网找对应扩展

  • 解压并复制到$GEOSERVER_HOME/webapps/geoserver/WEB-INF/lib目录
  • 重启GeoServer
CSS Style定义

比如我有一个中国省界数据,要给它定义一个Style。打开New Style页面(Data >Styles >add a new style)

注意在Format中选择CSS

  • 对于一个多边形来说,最直观的样式首先边界和填充色
* {stroke: #000000;stroke-width: 0.5;fill: #0099cc;}

这里定义了多边形的边界颜色为黑色,宽度是0.5,填充色为蓝色
点击validate如果提示No validation errors.再点击Apply,此时页面上方多了三个选项卡,点击Layer Preview就可以选择图层对刚才定义的样式进行预览。

  • CSS样式由选择器和属性构成,属性被包含在"{}“内,以上面的样式为例,选择器”*",stroke: #000000, stroke-width: 0.5, fill: #0099cc都属于属性,属性由name和value组成,之间用":“分割,”{}“把它们括起来跟在”*“后面,说明它们都属于”*"这个选择器,如果你懂CSS,这些都不用解释,和网页设计中的CSS没有区别

  • 显示标签(label)
   * {stroke: #000000;stroke-width: 0.5;fill: #0099cc;label: [name];label-anchor: 0.5 0.5;font-family: "宋体";font-fill: #000000;font-size: 14;}
  • 也可以利用CSQL作为选择器,比如要将北京市渲染为红色,把面积大于100的填充为黄色
[name='北京市']{fill:#ff0000;fill-opacity: 0.7;
}
[shape_area>100]{fill:#f1f507;fill-opacity: 0.7;
}
  • 虽然并不建议在GeoServer中设置图例,但是如果需要,可以用以下方法
/* @title area>100 */
[shape_area>100]{fill:#f1f507;fill-opacity: 0.7;
}
/* @title 北京市 */
[name='北京市']{fill:#ff0000;fill-opacity: 0.7;
}
/* @title 省界 */
* {stroke: #000000;stroke-width: 0.5;fill: #0099cc;label: [name];label-anchor: 0.5 0.5;font-family: "宋体";font-fill: #000000;font-size: 14;font-style: normal;
}
  • 更多的属性请参考CSS workshop。如果对其它的Style定义方式感兴趣,请前往官网
应用自定义样式

编辑图层,在Publishing标签中的Default Style中选择刚才定义的Style

最终样式是这样的

利用其它软件配图并将Style导入GeoServer

对大部分人来说,不管是哪种Style定义方式,可能没有时间精力完全掌握,其效率都是比较低的,如果能用一个做图软件配好图再把样式导入GeoServer可能是一种更好的选择。
udig软件就可以满足这一需求,把Style导出为SLD文件,然后在GeoServer中导入,并且udig支持多种平台,下载地址http://udig.refractions.net/download/

利用udig
  1. 定义样式并导出SLD文件
    样式设置好之后点击xml可以把设置好的样式保存为SLD文件
  2. 在GeoServer中导入SLD文件
利用QGIS

QGIS是目前最好的开源GIS软件,支持多种平台,它可以将配置好的样式导出为SLD文件。

目前就发现这两款软件可以将地图样式导出,推荐使用QGIS

GeoServer样式(style)设置相关推荐

  1. html+jquery+添加样式,jquery设置css样式、style属性 示范

    jquery设置css样式.style属性 示例 css虽然会在一开始我们就定义好了,但是有很多场景需要我们动态设置css,或者单独修改一个dom控件的style属性,今天分享一下我总结的jquery ...

  2. vue中设置内联样式style 动态绑定背景图backgroundimage不生效问题,以及动态绑定img的src,图片无法显示问题(src=“[object Module]“)

    (以下情况是通过style设置内联样式以及动态绑定img的src时发生的问题,.在外部css文件和style标签里面定义的样式不会出现以下问题) 我们可能会通过以下这种方式来设置元素的背景(注意元素需 ...

  3. uDig配图与GeoServer添加Style

    软件介绍: uDig是一个开源的桌面GIS软件,可以进行shp与栅格数据地图文件的编辑和查看,对OpenGIS标准,关于互联网GIS.网络地图服务器和网络功能服务器有特别的加强.通常和GeoServe ...

  4. React 项目----内联样式style的使用 (12)

    在此我们之前学习了react的基本的语法,对于页面我们还经常关注的是页面的样式,那么react 项目中,我们应该如何使用样式 首先我们来做一个简单的页面一个评论的列表 模拟数据: commentLis ...

  5. 怎样用html设置文档格式,Dreamweaver使用CSS样式表设置网页文本格式

    Dreamweaver使用CSS样式表设置网页文本格式 互联网   发布时间:2008-10-17 19:35:50   作者:佚名   我要评论 本文章介绍如何在 Dreamweaver 中使用层叠 ...

  6. css vue 内联_vue 内联样式style中的background

    在我们使用vue开发的时候   有很多时候我们需要用到背景图 这个时候会直接使用 内联样式 直接把你拿到的数据拼接上去 注意  在vue中直接使用style时 花括号一定别忘记 还有就是你的url一定 ...

  7. qt样式表设置边框_QT样式表

    QT样式表 一.QT样式表简介 1.QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能. QT样式表是允许用户定制widgets组件外观的强大机制 ...

  8. 用于设定表格样式的附加css,Dreamweaver使用CSS样式表设置网页文本格式

    核心提示:本文章介绍如何在 Dreamweaver 中使用层叠样式表 (CSS) 设置页面中的文本格式.您可以使用 CSS 以 HTML 无法提供的方式来设置文本格式和定位文本,从而能更加灵活自如地控 ...

  9. WPF 控件样式及样式事件设置

    实例下载:WPF控件样式及样式事件设置-C#文档类资源-CSDN下载 封装用户控件实例:图片选择Checkbox(用户控件)-C#文档类资源-CSDN下载 1.直接在代码中设置控件样式(例:设置按键圆 ...

最新文章

  1. Dockerfile 入门看这篇就够了
  2. windows下DOS命令关闭占用的端口
  3. Nginx的upstream目前支持5种分配方式
  4. 中的listeners_Netty源码学习(6)-- Netty中的异步处理
  5. Cambridge Judge Business school faculty review
  6. C++根据输入日期YYYY-MM-DD判断是否星期几
  7. sun-java6-jdk_Ubuntu下安装sun-java6-jdk和eclipse
  8. jsp学习札记————参数传值
  9. ACM基础——OJ上的Java代码提交规范
  10. Linux文本加密方法,Linux命令行文本加密的小技巧
  11. mysql创建表的默认大小_mysql InnoDB建表时设定初始大小的方法
  12. 4-19 面向对象 的内置方法
  13. 处于停机等非正常状态_设备非正常停机管理指导办法
  14. 简单工厂模式与策略模式
  15. NLP入门学习(一):搜狗新闻语料库的获取与预处理
  16. [日更-2019.5.21] Android 系统的分区和文件系统(一)--Android分区的大概框架
  17. 解决pycharm导入自己写的模块飘红问题
  18. hypermesh 连接单元_HRS连接器U.FL-R-SMT-1(10)插座样图查询
  19. AngelSword(天使之剑)漏洞框架的使用
  20. DebugView无法显示调试信息问题

热门文章

  1. 脉冲、正脉冲、负脉冲的概念
  2. AtCoder Beginner Contest 245
  3. BOM:04-BOM有哪些形式?(按照设计软件划分)
  4. 手把手教你如何快速制作电子书
  5. 笔记本/win10 缩放布局改为100% 分辨率1920x1080,任务栏右下角原有的所有图,标信息显示不出来
  6. Neo4J Cypher neo4j-driver py2neo介绍与使用
  7. 数字孪生油气行业技术应用,石油三维实景建模模型
  8. 12条标准判定穷富:整天工作的人当不了富翁
  9. 购买域名之后如何设置DNS,DNS解析原理与dig命令使用
  10. 安装JDK8(jdk-8u181-windows-x64)