Tiling Scheme
每个缓存服务的切片目录中都会包含一个 Conf.xml,也是就是tile scheme 文件了。
这个文件包含了很多有关切片设置的信息:
- Spatial reference information
- Tile origin
- Tile width/height
- DPI
- LODs (Levels of detail - scales)
- Tile Image format
- Compression quality
- Antialiasing settings
- Storage method
Version Issue
紧凑型缓存的存储格式为**.bundle** 。但有时我们会看到缓存目录中包含**.bundlx** 这样的文件,这说明这些缓存是ArcGIS 10.2.2 或以下版本创建的。从 ArcGIS 10.3 开始,紧凑型缓存做了些改进, .bundlx(tile index information) 文件被包含到了 .bundle 文件中 ,从而进一步降低了文件的数量。
你可以在缓存服务的tiling scheme “Conf.xml” 中查看确认:
10.3 or later (Compact cache V1)
1 | <CacheStorageInfo xsi:type='typens:CacheStorageInfo'> |
10.2.2 or former (Compact cache V2)
1 | <CacheStorageInfo xsi:type='typens:CacheStorageInfo'> |
- 10.3 及之后版本的 ArcGIS Server 仍然可以使用低版本的生产的切片来运行现有服务。如果我们需要将低版本的缓存拷贝过来给高版本的服务用,要注意这个
<StorageFormat>
参数的一致性。 - ArcToolbox工具 Upgrade Map Server Cache Storage Format 来升级缓存。升级的过程中不会重新创建切片,而是重组原有的切片。这个工具在ArcGIS Pro 中没有提供。目前,我们还只能使用ArcMap或者使用ArcGIS Server 带有的arcpy包,通过Python来调用。
- 不支持将高版本的切片供低版本软件使用。如果希望降级,可以使用 Export Map Server Cache 工具导出紧凑型切片。
Tile Format
Tile Format 是指存储切片使用了何种栅格格式,而不是切片文件的本身存储格式 / Storage Format ( Exploded / Compact )。
-
PNG
ArcGIS 10.1开始引入的类型。选择这种类型,Server会自行确认每张切片的PNG位深,从而达到缩减磁盘占用的目的。在我们不确定使用何种PNG格式时,保持这个默认设置就不错。
如果磁盘空间不在考虑范围下,而希望优先考虑切片速度,那最好选择MIXED格式了。
-
PNG8
位深为8位的PNG图片格式;可以最多存储256色,支持布尔透明,磁盘空间占用小,并且无损。适合于颜色相对简单,并且需要透明背景的地图,例如公路数据切图。
-
PNG24
位深为24的PNG图片格式;可以最多支持约1600万色。当地图的色彩复杂程度超过256时,你就该考虑使用这个格式。但是,PNG24不支持透明,另外不建议在IE6及以前版本浏览器中使用。
-
PNG32
在PNG24的基础上增加了Alpha通道,因而增加了各种程度半透明的支持。当地图色彩复杂,并开启了抗锯齿功能,PNG32就是最佳选择了,并且PNG32在各个版本的浏览器中支持良好。
-
JPEG
当切片中不需要透明背景时,JPEG是最常用的切片格式,并且JPEG可以hold住大量的复杂色彩。例如,包含影像、符号化精细程度高的矢量地图都可以使用这个格式。
JPEG是种有损压缩格式,可以在1%-100%间设置压缩比率,默认值75%一般是显示质量和磁盘空间的最佳平衡。如果觉得噪点过多质量不够,可以调高这个百分比,但你需要在响应性能和图片质量之间做好博弈。
-
MIXED
顾名思义,混合格式,在切片不透明区域使用JPEG,在透明区域使用PNG32。这是种非常智能的搭配方案,降低硬盘占用的同时,很好的解决了例如在切片边缘需要的透明需求。
-
LERC
LERC是Esri自主研发的开源的有损压缩格式,点这里有更多信息。推荐用于位深较大的单波段影像或高程数据服务中,如浮点型,32-bit、16-bit、12-bit的数据。 官方声称,LERC压缩方法在压缩速度和压缩质量方面分别是LZ77的5-10倍。当LERC用于整型栅格数据时,损失率在0.99或更低,几乎可以视为无损压缩。
LERC压缩方式目前只支持Image Service ,而不支持 Map Service。
Performance Suggestion
紧凑型切片比松散型切片有诸多有点,详见文末的官方文档。但不是说选了紧凑型切片性能就没有继续改善的余地了,下面的这些点也是提升切片性能的一些有效建议:
- 地图数据尽可能使用本地数据,共享目录的数据切片时间可能会更长些;
- 尽可能的避免使用动态投影;
- 设置图层的可见比例尺;
- 谨慎设置反锯齿的级别,标注的反锯齿对切片性能影响甚微,但要素符号的反锯齿会显著增长切片的时长;
- 建议切片期间关闭防病毒等安全软件;
- 尽可能地使用MIXED格式
- 在切片之前为所有数据创建空间索引
- CachingTools服务的最大实例数 = 核数 + 1,这是官方给出的最佳实践建议
- 降低日志的级别,如果在大量切图任务中把Server日志开到Debug或Verbose级别,会产生极大的资源浪费。
Tile|SuperTile|Bundle
这三者的关系早在多年前就有大牛们探索发现过,见本文末的相关文章,文中有逻辑缜密且经得起时间检验的详细演绎过程……
简言之,他们的关系是个简单的数学关系,如下:
1 | 如果: |
看图说话:
官方文档:
相关文章:
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !