以下是有关地图缓存的常见问题。 主题涵盖从基础到高级的不同主题。 在许多情况下,答案重新表述了帮助中其他位置的想信息;但是与搜索帮助相比,本主题可以更快地提供特定问题的答案。
缓存问题
缓存问题
是。 如果您具有多个 ArcGIS Server 站点(例如开发站点和生产站点),则可以在站点之间共享缓存目录。 这样不需要您在站点之间复制缓存。 此举还允许您从多个站点读写单一缓存目录。
当将缓存目录设置为可在站点之间访问时,您必须通过网络共享目录并授予每个站点的 ArcGIS Server 账户访问缓存目录的权限。 此账户用户在缓存中读写(根据需要)切片。 要了解有关 ArcGIS Server 账户的详细信息,请参阅 ArcGIS Server 账户。
只需向 ArcGIS Server 账户授予所需级别的权限。 例如,如果您要与之共享缓存目录的站点只需从缓存中读取切片,则只需向账户授予读取权限。 与之相反,如果您要通过每个站点创建缓存切片,则需要向每个站点的 ArcGIS Server 账户授予读写权限。
警告:
如果您要从多个站点在同一缓存目录中创建缓存切片,则需要极其小心,因为其他站点可能覆盖现有缓存。 例如,如果您具有两个在不同站点上同名的地图服务,则当在站点 B 上意外启动地图服务的缓存作业时,可能覆盖站点 A 上地图服务的现有缓存。
在共享缓存目录后,需要将每个站点更新为参考共享的网络位置。 有关说明,请参阅在 ArcGIS Server Manager 中编辑服务器目录。
否。 缓存切片、切片方案以及文件夹结构仍然保留在磁盘上。 如果您想要完全删除缓存,请使用删除地图服务器缓存工具。 如果要删除切片但保留缓存文件夹结构和切片方案,请使用管理地图服务器缓存切片工具,并将更新模式设置为 Delete_Tiles。
尽管地图缓存和 Web 地图打印的标准在许多方面都需要一致的性能,但您可能会发现缓存地图服务的分辨率对于打印来说并不令人满意。 打印的地图通常需要每英寸 200 点(dpi)或更高的分辨率,而 ArcGIS 中的地图缓存通常以 96 dpi 显示。
为了适应这种分辨率差异,ArcGIS Server 内置的 PrintingTools 服务使用动态图层。 在地图服务上会自动启用动态图层。 当具有缓存内容的地图服务或 WMS 服务启用了动态图层时,服务将执行动态操作,该操作将查询地图服务的源数据,以绕过地图缓存,以更高的分辨率导出地图范围。
如果在具有缓存内容的地图服务或 WMS 服务上禁用了动态图层,则 PrintingTools 服务将从服务器站点上的缓存中导出地图范围。 生成的地图将是地图缓存的 96 dpi 分辨率,这可能不符合打印地图的预期。 因此,建议您使用 PrintingTools 服务为缓存的地图服务启用动态图层。
在大比例下,建议您预先创建预期最常用的切片并设置按需创建其他切片。 与之相反,在小比例下,建议您创建完整缓存,因为小比例需要的切片更少,客户在最初查看地图时经常使用这些比例。
可多次运行管理地图服务器缓存切片工具以在地图的某级别构建部分缓存并在其他级别构建完整缓存。
假设您有一个地图要在以下比例下缓存:
- 1:128,000
- 1:64,000
- 1:32,000
- 1:16,000
- 1:8,000
- 1:4,000
可运行管理地图服务器缓存切片,然后仅选中 1:128000、1:64000 和 1:32000 复选框。 默认情况下,将缓存这些比例的全图。
然后,您可以再次运行该工具,并仅选中 1:16000、1:8000 和 1:4000 框。 同时,您可以根据要素类中的要素范围选择缓存这些比例级别,例如城市或县边界,而不是缓存地图的全图。 此举将在以下三个比例级别下创建局部缓存。 (可选)可选择根据需要在这些比例下创建剩余切片。
如果缓存区域不存在,则可按需创建切片或将 Web 服务器配置为返回数据不可用切片。 此外,如果有人平移到地图边缘或浏览到尚未完成缓存的区域,则数据不可用切片同样有用。 在某些情况下,与什么都不返回相比,将服务器配置为返回数据不可用切片可以优化用户体验。
对于基于 REST 的应用程序(例如使用 ArcGIS Maps SDK for JavaScript 构建的应用程序),可以通过在缓存的根级别放置空切片(missing.png、missing.jpg 或 blank.png)来配置“数据不可用”切片。 如果切片在缓存中找不到,则服务器将默认为该切片。 要配置切片,请完成以下步骤:
- 创建与切片方案中的切片尺寸和图像格式相同的图像。 将其命名为 missing.png 或 missing.jpg。 如果需要清晰的空白切片(如用于需要透明度的叠加服务的切片),则使用 blank.png。 要下载示例切片,请参阅“配置缓存文件夹以便为空地图缓存区域或缺失切片显示数据不可用切片”技术支持文章。
- 在地图服务的 _alllayers 文件夹下保存 missing.png、missing.jpg 或 blank.png 文件,例如 、opt/arcgis/server/usr/directories/arcgiscache/MyMapService/Layers/_alllayers/missing.png。
服务器将自动处理缺失的切片,方法为在缓存的根级别下将预期但缺失的切片替换为特殊的缺失或空白切片。
请求新切片(按需或使用缓存工具)时,将始终在组中创建切片。 缓存机制从不会一次仅创建一个切片。 否则,您会看到许多同名标注,因为服务器无法感知相邻切片上的标注。
如果启用了按需缓存并且平移到未缓存区域,则服务器将绘制 4,096 x 4,096 像素区域并将其切割成诸多切片(使用抗锯齿时,此区域为 2,048 x 2,048)。 因此,如果切片尺寸为 256 x 256 像素,则预期最多可创建 256 个切片。 如果地图包含许多图层或复杂符号,这可能导致客户端长时间等待。
因此,强烈建议您提前为地图的受欢迎区域创建切片并仅在不太受欢迎的区域中使用按需缓存。 如果您具有复杂的源地图文档,避免按需构建完整缓存。