最近在简书中看到一篇《GeoServer使用CSS渲染地图》的文章(公瑾大神写的),自己尝试用自己的GeoServer进行CSS地图样式的配置。配置的时候发现了很多的问题,最后完成了CSS地图样式的配置。分享一下自己配置的经验:
(1)查看大神的文章之后,知道在地图样式种可以使用CSS的写法进行图样式的配置。去官网查看了发现:
非常激动因为SLD样式的地图配置比较繁琐,使用ArcMap进行地图的配置,使用插件导出的SLD文件在GeoServer会出现一些问题(如果需要ArcMap导出插件请留言)。CSS样式配置解决了大问题,MapBox桌面端的地图配置的也是类似于CSS的样式(如图)。
(2)本地安装的GeoServer版本是2.12.1,在官网中找对应的CSS的版本的插件:
下载是解压包,里面包含十个.JAR文件。兴冲冲把十个JAR包考到geoserver\WEB-INF\lib 目录下,重启Tomcat登录GeoServer,点开Style新建CSS Styling。在Style Editor编辑框中添加简单面的样式:
* { stroke: #000000; stroke-width: 0.5; fill: #C5D3E1;}
点击Validate的时候GeoServer崩溃了:
(3)出错了开始找原因。最初觉得是别的插件导致CSS样式插件无法使用,到 Apache Software Foundation\Tomcat 8.5\webapps\geoserver\WEB-INF\lib目录下把别的功能插件删了,在重启Tomcat登录GeoServer发布CSS Styling,但还是出现了之前GeoServer崩溃的问题。有怀疑是不是我GeoServer安装的问题,我把GeoServer重新进行安装,重复了上面的步骤后GeoServer还是崩溃。思前想后为什么别人的GeoServer可以进行配置而我的不行(别都尝试过,只有我失败了)。会不会是插件的问题?
我降低了一个版本,在官网上下了GeoServer 2.11.4版本和CSS-plugin插件,进行重新的安装配置。重启Tomcat登录GeoServer,新建简单的面CSS Styling,点击Validate后GeoServer显示:
黄天不负有心人终于成功了点击Apply,引用样式可以了。
原因:GeoServer2.12.1版本中CSS-plugin插件中可能有问题(版本!版本!版本!重要的事情说三遍)
希望本文对大家有所帮助。
(4)CSS的地图样式相对于SLD样式简洁、可读性、可写性更强。
接下来就是研究GeoServer中CSS地图样式的编辑,提供GeoServer官网CSS样式的说明和语法规则:
http://docs.geoserver.org/latest/en/user/styling/css/index.html
领取专属 10元无门槛券
私享最新 技术干货