又是忙碌的一个星期,总算有时间来继续填这个坑了。今天就把样式发布搞定了!
通常地图发布之后,要配置样式,来让矢量更好更美的展现出来。geoserver就是通过过style样式的来控制地理空间数据的外观的。
geoserver样式介绍
geoserver的样式以多种不同的格式编写,现在官方支持四种模式,分别是:
- 样式化层描述符(SLD) :地理空间样式的OGC标准。默认情况下可用。
- 层叠样式表(CSS) :类似于CSS的语法。可通过 extension .
- YSLD :基于 YAML 以改进创作。可通过 ysld extension .
- MBStyle :基于的语法 JSON 以改进互操作性。可通过 mbstyle extension .
从中可以看出,只有SLD是默认就可以支持的,剩下的都需要装扩展插件。那这里我们就以SLD为例。
添加样式
- 单击左侧色styles按钮,打开样式管理列表
- 这里我们可以选择查看已有样式,也可以增加和删除样式,这里我们点击新加样式 。进入样式新建界面。
- 设置样式,输入对应信息。样式名称,样式所属工作区,样式的格式(这里选择sld,如果安装扩展插件后可以加入CSS等),之后开始最关键的创建样式了。
构建样式分为三种:- 创建默认样式
基于几何图形选择通用样式。选项包括 Point , Line , Polygon , Raster 和 Generic . 选择后点击Generate,下面sld代码区就有现成的代码了,可以在此基础上继续修改 - 复制已有样式
在geoserver中选择现有样式并将其内容复制到此样式。可以选择geoserver中的任何样式。当然并非所有样式都适用于所有层。选中后点击 Copy,下面sld代码区就有现成的代码了,可以在此基础上继续修改 - 上传一个样式文件
选择本地系统上的纯文本文件作为样式添加。选中后点击 Upload 。下面sld代码区就有现成的代码了,可以在此基础上继续修改。
- 创建默认样式
- 归根就地就是sld代码来决定样式,当然了,你如果安装了其他插件也可以使用其他语言来编辑样式。那完成代码输入后,就用validate按钮来确认代码是否正确,确认无误后点击提交就可以。
- 添加图例,点击添加图例按钮,点击后就如上图一样可以看到图例的设置参数。宽度高度等等,可以点击preview legend预览图例。
预览样式
样式是可以添加了,那么如何在validate之后先预览到我们的样式呢?总不能新建完了,再用图层发布之后才能看到吧,那样就太麻烦了。geoserver给我们提供了在编辑样式同事预览样式的方法。
- 还在添加样式的地方,有个layer preview ,点击后就可以一边看着效果一边修改样式了,修改好了点击apply,立刻就能看到。
- layer attribute 点击compute可以计算出每个属性的最大值和最小值,方便配置根据属性大小变化的样式。
批量配置属性
配置完一个属性后,比如说城市中学校的地址点的样式,可以我每个城市一个矢量文件都需要配置这个样式,一个个点图层点太慢了。那就用这个publishing标签的功能吧。其中default勾上就意味着这个图层默认的样式就是你新建的这个。associated就是进行关联,这样图层发布时样式选择就可以选择这个样式。当然了如果是在一个工作空间呢,不用勾上都可以使用。
sld语言的学习
想要更多更复杂的样式,就需要对sld代码进行更复杂的编写,可以通过学习SLD的教程来实现。我把中文和英文的教程还有几个常用的sld文件都放在公众号里面了,有需要的去那里面拿就好了,免费的。
那么不想学或者来不及去学习sld语法的同学们,这里就有现成的软件推荐给大家,来实现现成的代码咯。其实qigs和arcgis也都可以直接或者通过工具来获取到sld代码。我个人更喜欢使用udig,这个软件小巧灵活。使用起来也比较无脑。下一篇我具体讲讲如何使用udig来获取sld代码。
最后
好了,这次就先讲到这里吧,最后求关注,求点赞,欢迎大家关注我的公众号——“遥感程序员”
记录所学所用,包括但不限于遥感、地信、气象、生态环境,机器学习知识,相关文献阅读,编程代码实现。偶尔荒腔走板的聊聊其他。欢迎不同领域的朋友们加入进来,多多交流。