最近工作过程中,需要将CAD数据在ArcMap中编辑并转换为shapefile数据,但是颜色和符号需要重新设置。经过一番努力,ArcMap中的图层数据样式跟CAD图形已基本一致;为了在WebGIS中展示这些图层数据,需要将这些数据发布为WMS服务,在浏览器端基于Openlayer展示地图。
GeoServer发布定制样式的地图
当前服务器部署在阿里云,选用了开源的GeoServer工具发布地图,由于在GeoServer中支持的配色文件后缀为.sld文件,SLD是风格化图层描述器(Styled Layer Descriptor)的简称,是2005年OGC提出的一个标准,这个标准在一定条件下允许WMS服务器对地图可视化的表现形式进行扩展。在没有SLD之前,只能使用一些已经在服务器上规定好的样式来对地图进行可视化。而当使用了实现了SLD标准之后,它允许我们从GIS客户端来对地图进行定义自己的样式,分级显示等操作,极大的扩展了地图可视化的灵活性。
GIS客户端配色后如何导出SLD文件
当前主流的ArcMap客户端加载数据,编辑地图时,设置符号渲染后,将数据保存为.mxd文件,但是不支持直接导出sld文件。这对习惯使用ArcGIS产品的GISer来说,很不方便。在没有合适的工具之前,可选方案是使用uDig或者QGIS等其他客户端重新配色后,再导出sld文件。经过一段时间的搜索和试用ArcMap导出sld文件工具后,发现ArcMap2SLD工具功能强大,从官方的描述看支持ArcGIS10.1-10.6。下载链接见: https://pan.baidu.com/s/1-QZ7C2NxsJUMpdFJHvkHcA,提取码请私信我获取,文件内容如下图所示。
ArcMap2SLD使用步骤
- 下载解压后运行Adjust_for_ArcGIS-version.bat(确保系统已安装了arcgis)
- 修改配置,支持中文:打开LUT_sld_mapping_file.xml和文件LUT_sld_WorldMap_mapping_file.xml,修改文件<LUT>——><sldConfiguration>——><xmlEncoding>ISO-8859-1为GB2312。
- 运行ArcGIS_SLD_Converter.exe,设置每个图层保存成单独的sld文件,如下图所示:
- 点击左下角的SLD按钮,会自动读取当前arcmap中图层,读取完成后弹出选择sld保存路径的对话框,生成响应的sld文件,如下图所示。
GeoServer中应用sld样式
在GeoSerer中加载保存sld样式文件:
图层发布时应用该样式:
本文暂时没有评论,来添加一个吧(●'◡'●)