当某个细节层次仅有局部缓存可用时,您可以使用以下方法之一为用户提供无缝的渲染体验。
使用“数据不可用”切片
如果地图的某个区域缺少切片或尚未完成缓存,则可以选择按需创建切片或将 Web 服务器配置为返回“数据不可用”切片。
对于基于 REST 的应用程序(如使用 ArcGIS Maps SDK for JavaScript 构建的应用程序),您可以通过在缓存的根级别放置空切片(missing.png、missing.jpg 或 blank.png)来配置“数据不可用”切片。 如果在缓存中找不到某个切片,则服务器会默认使用上述切片。 要配置“数据不可用”切片,请完成以下步骤:
- 创建与切片方案中的切片尺寸和图像格式相同的图像。
- 将此图像命名为 missing.png 或 missing.jpg。
注:
如果需要将清晰的空白切片用于需要透明度的叠加服务,请将图像命名为 blank.png。 - 将您创建的图像保存在地图服务的 _alllayers 文件夹。
以下为示例路径:opt/arcgis/server/usr/directories/arcgiscache/MyMapService/Layers/_alllayers/missing.png
将图像保存到所有图层文件夹后,服务器将在缓存根级别自动使用“数据不可用”切片替换缺失的切片。
按需缓存
如果不使用“数据不可用”切片,您还可以将缓存配置为在最终用户导航至地图的未缓存区域时创建切片。 建议使用按需缓存来显示由于时间或存储限制而无法完全缓存的不常访问的地图区域。
启用按需缓存后,当用户导航到未缓存的区域时,ArcGIS Server 站点将动态绘制切片。 动态绘制将比常规请求花费更长的时间,因为 ArcGIS Server 站点需要动态生成一组切片。 如果地图服务使用抗锯齿,则该组切片将为 2048x2048 像素,否则为 4096x4096 像素。 按需动态生成缓存的过程是一个单线程进程,不会使用缓存地理处理服务的所有实例。 在准备地图以便使用可接受的速度动态绘制大面积区域时,请务必记住这些因素。
如果实施得当,按需缓存可以节省您的时间和磁盘空间。 地图通常包含空旷、无法使用或地图受众不感兴趣的区域,因此,按需缓存允许用户仍然可以查看这些区域(如果他们选择查看),而您无需在缓存中创建或存储这些区域。 生成切片后,后续地图查看器将不必等待为这些区域创建切片。
虽然按需缓存是一个非常有用的功能,但务必记住,如果未正确实施或过度使用,则可能会对性能产生负面影响。
注:
使用按需缓存生成的切片内容不会反映在地图或影像服务的缓存状态中。 可使用管理地图服务器缓存状态工具,将管理模式参数设置为重建缓存状态以更新缓存状态。
重采样
发布切片图层时,您可以决定不为不常访问的区域或某些细节比例生成切片缓存,以节省磁盘空间并减少生成缓存所需的时间。 在这些情况下,当用户平移和缩放到这些区域时,客户端应用程序将渲染重新采样的内容。
重采样是使用现有切片缓存来填充尚未生成切片的区域的过程。 重新采样的内容基于该图层可用的最接近的细节层次(切片)。 此过程可以为用户提供更流畅的体验,但是可能导致图像模糊,特别是当重新采样的细节层次远低于源细节层次时。 例如,如果特定地图区域中显示缓存切片的最大比例为 1:5000,而用户放大至 1:100,则重新采样的缓存会失去清晰度和精度。
如果您发现用户使用的缩放比例经常超过您为切片图层的可见范围定义的最小和最大比例,建议您增加可见范围并以更大的比例构建切片。