GeoServer用了一段时间已经略懂一二,实际工作中又遇到了ArcGIS的原始gdb文件,再部署一套ArcGIS显然不太划算,思路就转换成使用ArcGIS进行切片缓存,再使用GeoServer发布切片缓存。
使用ArcGIS Desktop 10.2和GeoServer 2.16,首先启动ArcGIS套件中的ArcMap,加载需要进行切片的原始影像数据。
打开“自定义”–“ArcMap选项”

选择“共享”选项卡,勾选“打包”栏中的“启用ArcGIS Runtime工具”,点击确定。

打开“地理处理”–“ArcToolbox”。

选择工具栏中的“数据管理工具”–“切片缓存”–“生成切片缓存切片方案”。

打开方案详情页面,分别选择数据源,设置切片方案输出路径,生成方法默认为“NEW”,比例级数根据实际需要进行调整,保存方案。

打开“文件”–“共享为”–“切片包”。

选择切片包的保存路径。

在“切片格式”中选择上一步保存的切片方案,切片格式可选的有PNG、JPEG和Mixed(混合),根据需要选取即可。

在“项目描述”的必填项中输入必要的文字说明,否则点击“分析”操作会提示错误导致不能继续。点击“分析”,根据提示解决所有严重性问题。最后点击“共享”,开始进行切片。

切片级数越高,后面花费的时间越长。耐心等待切片完成,数据量太大的话可以去吃个饭或者等到下班再启动。

ArcGIS生成的切片缓存如下所示,切片结果按缩放级别分别存放,conf.xml则是切片缓存的配置文件。

GeoServer在2.14版本以后都是自带GeoWebcache的。打开GeoServer运行目录下的web.xml进行配置。

增加GeoWebCache的配置项,并指定存储路径。
context-param>
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIRparam-name>
<param-value>D:\Download\Mapparam-value>
context-param>
重启GeoServer后,会在刚才指定的路径下自动生成GeoWebCache相关文件

在geowebcache.xml中添加arcgis的图层
<arcgisLayer>
<name>202211name>
<tilingScheme>D:\xxx\202211\v101\conf.xmltilingScheme>
<tileCachePath>D:\xxx\202211\v101\_alllayerstileCachePath>
<hexZoom>falsehexZoom>
arcgisLayer>
重启GeoServer,打开地址http://xxxx/geoserver/gwc就可以在geowebcache中看到发布的切片了。

GIS开发深似海,一坑更比一坑深。