如何提高ArcGIS for Server地图缓存能力
发布网友
发布时间:2022-04-11 20:04
我来回答
共1个回答
热心网友
时间:2022-04-11 21:34
(1)、缓存的结构变化
在ArcGIS 10的缓存结构中,可以选择使用ArcGIS Online/Bing Maps/Google Maps的格式,也可以试用已发布地图服务的格式,或自定义的格式。其中如果想把地图服务与 ArcGIS Online或Google、Bing服务叠加,则可以选择第一种。目前的ArcGIS Online的切图结构已经与Google等一致,不再是一个独立服务的结构。
(2)、新增的Compact缓存格式
与原有的Exploded格式对应,Exploded格式是为每一个级别的缓存分别进行地图切片,每个切片的地图独立存储。Compact是一种紧凑型 的格式,是将一系列的切片地图组成一个Bundle的文件存储,每个Bundle最多可存储16000个图片。相对Exploded存储类型而 言,Compact缓存格式可以大大的提高缓存迁移或拷贝的速度,并最大程度上节省了磁盘存储的空间。这是因为如果采用单张图片存储,由于操作系统的磁盘 簇的大小*关系,会产生大量的小文件和磁盘碎片,因此极大的浪费了磁盘空间,而Compact格式将大量切片集中存储成一个文件,从根本上解决该问题。 当然了,如果在WebGIS的应用客户端,如果需要直接调用缓存切片,并进行拼接成图,还是建议使用Exploded的格式。
在ArcGIS 10中提供了“Convert Map Server Cache Storage Format”的工具,可以实现这两种缓存的格式的转换。
(3)、新增的“Mixed”模式缓存
在ArcGIS 10的切片格式选项中,提供了新的“Mixed”的格式选择。该选择适合采用JPEG格式的切图服务的叠加应用。如下图所示,一般来说,对于背景底图的切 片,为节省磁盘空间和访问速度,可采用JPEG的切片格式,但是当两个JPEG格式服务进行叠加时候,会存在“项圈”现象,这是因为在进行切片时候,为保 证服务的正确叠加,切片会采用“超级切片方式”,即在地图范围之外,切4096x4096的范围,由于JPEG不支持透明色,因此造成叠加部分周围的空 白,如下图所示:
为解决这一问题,”Mixed”模式实现在叠加地图的周边区域进行计算,并在边缘地带生成PNG格式(支持透明色),这样在两个服务叠加时候,可以避免不透明的产生。
(4)、协作缓存
协作缓存即缓存的导出\导入。协作缓存支持两种主要应用场景:
a.缓存服务的融合。
所谓缓存服务的融合,即将“服务a”的部分比例尺缓存导出,并导入到对应的“服务b”的相应比例尺中,替换已有的缓存。如下图所示:
该功能适用于将大比例尺的局部缓存切图,导入或融合到某个大区域范围的地图服务上。如下图示例所示为ArcGIS Online的地图:
该图中日本版图的地图采用日文标注的大比例尺地图,对于ArcGIS Online来说,在创建缓存时候无需日本的地图数据,只需要将日本所提供的缓存地图服务导出来,然后融合到ArcGIS Online的地图上,就可以得到这样的地图服务了。
b.离线缓存使用
所谓离线缓存,即可以将一个或一组比例尺的地图缓存导出来,在ArcGIS Desktop等应用中可以将缓存作为一个Raster dataset的数据源直接添加使用。在离线状态下,或网络速度极慢的情况下,又要使用ArcGIS的缓存地图当背景,该功能就非常管用了。
(5)、分布式缓存切图
为提高缓存切图的效率,10中提供了分布式缓存切图的能力。即缓存切片分别放到每个独立SOC的本机上(不采用共享目录的缓存存储),这样可以大大加快缓存切图的效率,避免磁盘转速和I/O所导致的切图写入效率问题。