ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况
本篇博客是基于ArcGIS for Android SDK 10.2.6.2以及ArcGIS Runtime for Android SDK 100.3.0来测试对紧凑型缓存切片支持情况。
紧凑型缓存切片
在ArcGIS 10中出现了一种切片缓存文件格式:紧凑型存储(Compact)。与之前的松散型存储(Exploded)相比,它有迁移方便、创建更快、减少存储空间等诸多优点,已经成为了创建切片缓存的默认格式。紧凑型存储最主要的两种文件是bundle和bundlx文件,其中bundle文件用以存储切片数据,bundlx是bundle文件中切片数据的索引文件。
2014年年底,ArcGIS 10.3正式发布,Esri才推出了新的紧凑型缓存格式以增强用户的访问体验,将缓存的索引信息.bundlx包含在了缓存的切片文件.bundle中。
得出的经验
通过测试发现ArcGIS10.2.6.2支持离线加载紧凑型存储的文件(bundle+bundlx),但是对新一代的离线缓存切片数据bundle不支持(bundle);
而ArcGIS Runtime for Android SDK 100.3.0对bundle(新一代离线缓存切片)以及对bundle+bundlx都支持。
bundle
bundle+bundlx
需要注意
不管是bundle还是bundle+bundlx都必须保证_alllayers下的比例级别文件夹和conf.xml中列出的比例级别是一致的。如果后者包含的比例级别多于_alllayer中的比例级别。比如,Conf.xml中的比例级别(例如,8级)多于_alllayers文件中比例级别(例如,7级),在android端会出现空白情况。
客户情况:可能是切图问题,比如切到0到8层,alllayer里面只有0到7层,放到最大比例就空白了。
解决方法:
可以通过在缓存服务上右键单击选择 manage tiles -> export tiles获取最后的紧凑型文件夹或者tpk切片包。这样:1、可避免10.x上识别新型紧凑型缓存文件夹存在问题;2、避免conf.xml和_alllayers中不一致。
————————————————————————
参考资料
https://blog.****.net/warrenwyf/article/details/6069711 //ArcGIS 切片缓存紧凑文件格式分析与使用
https://blog.****.net/zssai2015/article/details/49719707 //ArcGIS for Server 10.3.X 新型紧凑型缓存的解读和应用