地图缓存更新

创建地图缓存时,您将同时创建地图的快照或图片。若之后对数据进行了编辑或更新,则需要执行以下两个操作让其他人看到更改的内容:

更新缓存

更新缓存包括重新创建缓存中的部分或全部切片。您可以使用管理地图服务器缓存切片工具更新缓存。在工具对话框中,将更新模式参数设置为重新创建所有切片

如果要更新地图某个矩形区域内的切片,则可以更改默认更新范围,默认更新范围是整个服务的范围。

如果您知道仅更改了一个数据集或一个地理区域内的要素,则可以提供您在 ArcMap 中绘制的某个要素类或图形的路径,以查询感兴趣区域的属性。使用此选项时,工具只会重新创建覆盖感兴趣区域的切片。如果您编辑了面数据,此方法十分适用。例如,如果您有一个覆盖整个美国的缓存,并且您刚刚编辑了美国国家公园的边界数据,则可以将美国国家公园要素类作为感兴趣区域。而后只会重新创建国家公园范围内的切片。

填充空切片

如果要完成一个未完整创建的缓存或对缓存执行质量检查,可运行管理地图服务器缓存切片并将更新模式设置为重新创建切片。此设置会检查缓存所在文件夹并创建所有缺失的切片。与在其他更新模式下一样,您可以设置某一矩形范围或要素类作为边界以创建空切片。

下图中,将使用重新创建空切片来创建所有轮廓为蓝色的切片。

将使用“重新创建空切片”选项重新创建的切片的插图

请注意,重新创建空切片的运行时间可能会比较长,因为必须检查每个切片。

删除切片

某些情况下,您可能要删除某些区域的切片甚至移除整个缓存。

  • 要删除特定区域的切片,请运行管理地图服务器缓存切片工具并将更新模式设置为删除切片。在执行此工具之前,请将更新范围设置为要删除的区域。此外,您还可以指定某个要素类,以便在空间上指明将从缓存中删除的切片。
  • 要删除整个缓存,请运行删除地图服务器缓存工具,移除与缓存相关联的所有切片和文件夹。在运行此工具之前,请确保将 CacheTools 地理处理服务的最大实例数设置为至少等于 3 的值。
提示提示:

要删除所有切片但同时保留文件夹结构和切片方案,请运行管理地图服务器缓存工具并将更新模式设置为删除切片。在执行此工具之前,请确保将更新范围设置为地图的全图范围。

更改缓存中的比例

如果要向缓存切片方案中添加比例或者从中移除比例,请使用管理地图服务器缓存比例工具。通过此工具可选择地图服务并重新定义所选服务的比例,还可根据需要添加或删除比例。在此工具中指定比例级别时,请确保包括所需比例的完整列表,因为未出现在此列表中的任何比例都会被删除。

脚本更新工具

可通过脚本定期自动运行管理地图服务器缓存切片。如果您需要持续更新数据,则此方法十分有用。有关如何自动执行缓存更新的详细信息和示例,请参阅使用地理处理脚本自动执行缓存创建和更新

清除客户端的本地缓存

显示缓存地图服务时,ArcGIS 客户端会在本地存储切片,以便用户再次导航到某区域时无需重新获取相应切片。即使您已更新了缓存,那些之前使用过您的缓存的用户在其客户端计算机上也可能仍然存储的是您的原始切片。他们需要清除这些缓存才能看到您的缓存更改。

如果您需要频繁地更新缓存,建议禁用允许客户端对切片进行本地缓存的选项。这样,使用缓存的用户将始终看到最新的切片,而不是可能存储在他们计算机上的旧切片。

如果您尚未禁用客户端的本地缓存,使用您的缓存的用户可自行选择是否对切片进行本地缓存。他们可以根据需要,选择持续构建本地缓存、为每个应用程序会话构建新的本地缓存或不构建本地缓存。

将服务器资源用于更新

更新缓存将占用服务器资源,因为在更新期间需要服务器连续绘制地图切片。当您的生产服务器需要填充客户端请求时,您不希望它超出创建地图切片的最大能力。最灵活的解决方案是在过渡服务器上执行更新,然后将更新的切片复制到生产服务器中。

如果过渡服务器不可用,那么最佳方法是在低流量时段执行更新,如夜间或周末。如果您仍然不想将全部 CPU 资源专用于执行更新,您可以在服务级别(在“服务编辑器”中指定)或作业级别(在运行该工具时指定)减少允许 CachingTools 地理处理服务使用的服务实例的数量。最后一个选项是分配 CachingTools 地理处理服务,以使其独立于地图服务运行在自己的集群中,从而确保 CachingTools 不会占用正在运行地图服务的计算机上的资源。

使用 Windows 任务管理器或 Windows 性能监听器等操作系统性能监听工具可确保缓存更新期间 CPU 不会被正在运行的服务实例完全占用。

请注意,减少可用于执行更新的实例数将增加更新所需的时间。如果硬件性能不理想,您只能通过降低缓存可用性来提高缓存更新速度,或者通过降低缓存更新速度来提高缓存可用性。

9/15/2013