要素缓存条件

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

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

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

警告:

如果打算编辑定义查询,建议不要缓存随定义查询发布的图层。 这是因为基于服务的定义查询不可用于 ArcGIS Pro。 使用这些图层时,不满足定义查询的要素可能仍在 ArcGIS Pro 中显示,即使它们在其他应用程序中不可见。 这些要素可能在会话期间消失并且下次打开 ArcGIS Pro 时也将消失。

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

行计数阈值

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

预估的行计数

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

如果整个要素服务图层的估计行数小于行数阈值的五倍,则要素缓存将被填充到要素服务图层的全图范围。

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

注:

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

子类型图层组

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

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

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

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

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

相关主题