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 for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

而ArcGIS Runtime for Android SDK 100.3.0对bundle(新一代离线缓存切片)以及对bundle+bundlx都支持。

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

bundle

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

bundle+bundlx

需要注意

不管是bundle还是bundle+bundlx都必须保证_alllayers下的比例级别文件夹和conf.xml中列出的比例级别是一致的。如果后者包含的比例级别多于_alllayer中的比例级别。比如,Conf.xml中的比例级别(例如,8级)多于_alllayers文件中比例级别(例如,7级),在android端会出现空白情况。

客户情况:可能是切图问题,比如切到0到8层,alllayer里面只有0到7层,放到最大比例就空白了。

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

ArcGIS for Android SDK 10.x和ArcGIS Runtime for Android SDK 100.x对紧凑型缓存切片的支持情况

解决方法

可以通过在缓存服务上右键单击选择 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 新型紧凑型缓存的解读和应用