原创文章,转载须标明出处自:
http://www.cnblogs.com/gisspace/p/8286838.html
-----------------------------------------------------------------
注:本文中“较早版本”指10.1、10.2版本,10.0之前版本不在本文范围内
通常,在生产作业时,地图服务的发布与服务缓存切片的建立并不是同时进行。
(1)发布地图服务(选择稍后建立缓存切片)
(2)建立缓存切片(切片层级配置与发布时相同)
(3)拷贝切片至“arcgisserver\directories\arcgiscache\服务名称\Layers\_alllayers”目录下
(4)重启服务
按照上面的流程工作,即可发布缓存切片地图服务。
如果需要在另一台ArcGIS Server下发布相同的服务,则将_alllayers目录拷贝到新服务器新服务的_alllayers目录下即可。
今天将同事给的切片按照上述流程进行服务发布,发现无法预览。
询问后得知,缓存切片是由10.1版本建立,而服务器版本为10.4。
打开服务Conf.xml对比切片层级、坐标系,确认无误。
但是文件尾部“StorageFormat”属性有所不同:
· 10.4版本发布的新服务为“esriMapCacheStorageModeCompactV2”
· 10.1版本则为“esriMapCacheStorageModeCompact”
于是修改10.4的Conf.xml,重启服务。果然,现在可以正常预览了。
解决问题后查阅资料发现,原来esri从10.3版本开始后,对缓存切片文件进行了优化,使用了新的“紧凑缓存存储格式”。
紧凑缓存存储格式用于将切片分组到大文件中,而不是以单独的文件形式存储切片。分组存储切片具有以下优势:
· 由于减少了文件数,因此更易于复制缓存。
· 减少了缓存所占的总磁盘空间。
· 由于在切片创建过程中减少了磁盘 I/O,因此切片的创建速度通常会更快。
· 由于降低了网络流量,因此采用多机部署方式创建切片时可提高可伸缩性
总结:
迁移10.3之前版本的切片文件至10.3及之后版本的ArcGIS Server时,需要修改新服务Conf.xml中的StorageFormat为“esriMapCacheStorageModeCompact”。这样就可以正常读取切片文件了。