一、问题描述
操作系统:Windows Server 2012R2 Standard(虚拟机)
ARCMap:10.6
ARCGIS Server:10.6 中文版。
在ArcMap10.6中连接ARCGIS Server发布手动构建缓存的切片地图服务后,将事先切好的缓存数据复制到ArcGIS Server对应的缓存路径中后,发现调用的服务没有任何图片。
二、问题分析
1、缓存数据的制作工具是自己根据ARCGIS Objects写的,调用的是ARCObject10.2。
2、缓存地图服务是利用ARCMap10.6在ArcGIS Server10.6中发布,存在生产环境和使用环境不一致的情况。
3、查询ESRI的官方文档后发现,紧凑型缓存格式有两个版本:10.0 引入的 compact 以及 10.3 引入的 compactv2。(参见https://enterprise.arcgis.com/zh-cn/server/10.6/publish-services/windows/copying-caches.htm)
4、在成成的切片数据中,找到的切片方案文件conf.xml
紧凑型文件的存储格式为esriMapCacheStorageModeCompact,而通过ARCMap10.6发布的是esriMapCacheStorageModeCompactV2类型,导致无法读取原始文件。
三、问题解决
ESRI提供了官方的、正常途径下解决不同存储格式的、紧凑型文件通过缓存复制的方式在复用的方法,这里就不再赘述。本人实践后,得到了一个简单的方法:
1、缓存地图服务的缓存路径下,找到对应服务的切片方案文件。
将esriMapCacheStorageModeCompactV2修改为esriMapCacheStorageModeCompact
2、重新启动地图服务。(这是必须的,本人在实践过程中,没有重启服务而走了不少弯路)
四、注意点
在中文版的ARCMap中发布地图服务时,必须把内容列表中,数据库框架默认的名称“图层”修改为英文。否则的话,在ARCMap中加载发布的服务
无法显示内容。