管理要素缓存

对于 web 要素图层,要素缓存用于通过将要素存储在临时文件夹中来提高性能和常见任务。 缓存是自动管理的,并且随着要素的缓存,检索数据所需的查询数量减少,绘制时间得到改善。 这在处理大型或复杂数据集、在特定地图范围内或当众多用户使用相同服务时非常有用。 这减少了服务请求的数量,从而减轻了服务器的负荷。

要素缓存条件

默认情况下,要素缓存由应用程序自动填充;这是推荐设置。 每次地图绘制完成并满足以下五个条件时,都会填充缓存:

  • 图层在内容窗格中可见。
  • 图层基于可见比例范围显示。
  • 所绘制要素总数小于服务图层上行计数阈值的 5 倍。
  • 图层属性对话框上的缓存选项设置为会话结束时清除缓存
  • 当存在过滤器时,可见范围内的估计要素数小于行计数阈值的五倍。

行计数阈值、预估行计数和子类型图层组的其他详细信息也将用于确定缓存是否会自动填充。

行计数阈值

行计数阈值用于确定要素缓存何时填充。 行计数阈值设置为 2000 或要素服务图层 maxRecordCount,以较低者为准。

预估的行计数

当支持预估的行计数并且图层具有过滤器时,ArcGIS Pro 将使用预估的行计数和上述五个条件来确定要素缓存是否将被填充。 如果图层没有过滤器,则不会使用预估的行计数,并且 ArcGIS Pro 将使用上述五个条件来确定要素缓存是否将被填充。

如果整个要素服务图层的预估行计数小于行计数阈值的 5 倍,则将填充整个要素服务图层的要素缓存。

对于不支持预估行计数的要素服务图层,如果图层上有过滤器,则不会填充要素缓存。

注:

要确定要素服务是否支持预估行计数,请转到图层的 JSON 资源并查找 infoInEstimates 参数。 如果在此数组中看到“计数”,ArcGIS Pro 将获得预估的行计数。

子类型组图层

有时子类型图层组可能被视为过滤器,也可能不被视为过滤器。

当其中至少一个子图层可见时,子类型图层组被视为过滤器。 对于这种方案,如果支持,预估的行计数将用于填充要素缓存。

当所有子类型图层组都可见时,子类型图层组不被视为过滤器。 对于这种方案,所有可见子类型图层组的绘制计数总和将用于确定要素缓存是否已填充。

当子类型图层组不可见时,子类型图层组不被视为过滤器。 对于这种方案,子类型图层组将被视为不可见,并且不会为这些图层填充要素缓存。

在应用程序确定不填充图层的要素缓存的情况下(即不满足上面列出的五个条件),您可以手动管理缓存以利用缓存提供的性能优势。

访问控件以管理地图选项卡上要素缓存组中的缓存。 使用这些控件填充缓存、清空缓存、取消当前缓存填充或将缓存设置为自动填充。 这些控件适用于项目中的每个地图。 如果未启用要素缓存组,应用程序将自动缓存要素,如上所述。

有关缓存的详细信息,请参阅缓存的工作原理

显示要素缓存组

默认情况下,要素缓存组在功能区上隐藏。 请按以下步骤访问该组中的控件。

  1. 单击工程选项卡,然后单击选项
  2. 选项对话框的应用程序标题下,单击地图和场景选项卡。
  3. 展开要素缓存并选中从地图选项卡中管理要素缓存
  4. 单击确定保存您的设置并关闭对话框。

自动缓存

启用要素缓存组后,将为每个新地图启用自动缓存。 关闭此选项以手动管理缓存。 可以为项目中的每个地图单独更改此设置。 这允许您根据工作流程的需要管理自动缓存设置。 如下所述,如果图层跨多个地图共享相同的数据源,则填充 启用要素缓存清空 清除要素缓存 可能会影响自动缓存

注:

当从填充 启用要素缓存 启动的填充正在进行时,整个项目的自动缓存将暂停,直到当前填充完成。

填充当前地图的要素缓存

必须先填充要素缓存,之后才能加以使用。

地图选项卡的要素缓存组中,单击填充 启用要素缓存 以填充地图中可见的所有图层的缓存。

警告:

如果在地图选项卡上未看到要素缓存组,请按照上一节中的步骤访问这些控件。

缓存基于地图的当前范围进行填充。 与使用标准来确定填充哪些图层的自动缓存不同,使用填充 启用要素缓存 后,所有在内容窗格中可见的图层都将被缓存。 每个项目一次只能进行一个填充过程。 在填充缓存时,在填充完成或取消之前,填充按钮 启用要素缓存 对工程中的所有地图都不可用。 在填充缓存时,您可以在地图周围平移和缩放或查看其他地图,而不会影响正在填充的进度。 支持在多个范围内填充要素缓存。 整个项目的自动缓存暂停,直到填充完成。

如果图层的数据源在同一项目中的多个地图之间共享,则缓存要素将在地图之间共享。

当缓存开始填充、填充完成或发生错误时,会有通知提醒您。

注:

  • 为大区域或具有许多要素的区域构建缓存可能需要一些时间。 要取消填充缓存,请单击取消 禁用要素缓存
  • 如果地图中没有可见的 web 要素图层,或者如果图层设置为不在图层属性中缓存,则不支持填充并且您将收到通知。

警告:

填充 启用要素缓存自动缓存结合使用时,填充按钮 启用要素缓存 将取消任何正在进行的自动填充。 在此工作流程中,建议您在地图绘制完成后等待 15 秒,以便在使用填充 启用要素缓存 之前完成自动填充过程。

清空当前地图的要素缓存

如果从其他源对基础图层进行了编辑,则可定期清除要素缓存。

地图选项卡的要素缓存组中,单击清空 清除要素缓存 以清空当前地图中所有图层的要素缓存。

警告:

如果在地图选项卡上未看到要素缓存组,请按照本主题上一节中的步骤访问这些控件。

清空按钮 清除要素缓存 始终处于启用状态,不会变为非活动状态。 如果有待处理的编辑,则空操作不会发生。 必须在清空要素缓存之前保存或放弃编辑。

如果图层的数据源在同一项目中的多个地图之间共享,则在清空操作期间,其他地图中这些图层的缓存会受到影响。

当缓存被清空、发生错误或有待处理的编辑时,会有通知提醒您。

取消填充要素缓存

如果您单击了填充按钮 启用要素缓存 并且填充时间比预期的要长,或者如果您不小心单击了它,您可以取消该过程。 此按钮仅在填充缓存时可用。

地图选项卡的要素缓存组中,单击取消 禁用要素缓存 以取消正在进行的填充请求。

警告:

如果在地图选项卡上未看到要素缓存组,请按照本主题上一节中的步骤访问这些控件。

当缓存填充被取消时,会有通知提醒您。

相关主题