对于 web 要素图层,要素缓存用于通过将要素存储在临时文件夹中来提高性能和常见任务。 缓存是自动管理的,并且随着要素的缓存,检索数据所需的查询数量减少,绘制时间得到改善。 这在处理大型或复杂数据集、在特定地图范围内或当众多用户使用相同服务时非常有用。 这减少了服务请求的数量,从而减轻了服务器的负荷。
默认情况下,要素缓存由应用程序自动填充;这是推荐设置。 每次地图绘制完成并满足以下条件时,都会填充缓存:
- 图层在内容窗格中可见
- 图层基于可见比例范围显示
- 所绘制要素总数小于服务图层上 maxRecordCount 参数值的 5 倍
- 图层属性对话框上的缓存选项设置为会话结束时清除缓存
- 当存在过滤器时,可见范围内的估计要素数小于服务图层上 maxRecordCount 参数值的五倍
在应用程序确定不填充图层的要素缓存的情况下(即不满足上面列出的五个条件),您可以手动管理缓存以利用缓存提供的性能优势。
访问控件以管理地图选项卡上要素缓存组中的缓存。 使用这些控件填充缓存、清空缓存、取消当前缓存填充或将缓存设置为自动填充。 这些控件适用于项目中的每个地图。 如果未启用要素缓存组,应用程序将自动缓存要素,如上所述。
有关缓存的详细信息,请参阅缓存的工作原理。
显示要素缓存组
默认情况下,要素缓存组在功能区上隐藏。 请按以下步骤访问该组中的控件。
- 单击工程选项卡,然后单击选项。
- 在选项对话框的应用程序标题下,单击地图和场景选项卡。
- 展开要素缓存并选中从地图选项卡中管理要素缓存。
- 单击确定保存您的设置并关闭对话框。
自动缓存
启用要素缓存组后,将为每个新地图启用自动缓存。 关闭此选项以手动管理缓存。 可以为项目中的每个地图单独更改此设置。 这允许您根据工作流程的需要管理自动缓存设置。 如下所述,如果图层跨多个地图共享相同的数据源,则填充 和清空 可能会影响自动缓存。
注:
当从填充 启动的填充正在进行时,整个项目的自动缓存将暂停,直到当前填充完成。
填充当前地图的要素缓存
必须先填充要素缓存,之后才能加以使用。
在地图选项卡的要素缓存组中,单击填充 以填充地图中可见的所有图层的缓存。
警告:
如果在地图选项卡上未看到要素缓存组,请按照上一节中的步骤访问这些控件。
如果图层的数据源在同一项目中的多个地图之间共享,则缓存要素将在地图之间共享。
当缓存开始填充、填充完成或发生错误时,会有通知提醒您。
注:
- 为大区域或具有许多要素的区域构建缓存可能需要一些时间。 要取消填充缓存,请单击取消 。
- 如果地图中没有可见的 web 要素图层,或者如果图层设置为不在图层属性中缓存,则不支持填充并且您将收到通知。
警告:
将填充 与自动缓存结合使用时,填充按钮 将取消任何正在进行的自动填充。 在此工作流程中,建议您在地图绘制完成后等待 15 秒,以便在使用填充 之前完成自动填充过程。
清空当前地图的要素缓存
如果从其他源对基础图层进行了编辑,则可定期清除要素缓存。
在地图选项卡的要素缓存组中,单击清空 以清空当前地图中所有图层的要素缓存。
警告:
如果在地图选项卡上未看到要素缓存组,请按照本主题上一节中的步骤访问这些控件。
清空按钮 始终处于启用状态,不会变为非活动状态。 如果有待处理的编辑,则空操作不会发生。 必须在清空要素缓存之前保存或放弃编辑。
如果图层的数据源在同一项目中的多个地图之间共享,则在清空操作期间,其他地图中这些图层的缓存会受到影响。
当缓存被清空、发生错误或有待处理的编辑时,会有通知提醒您。
取消填充要素缓存
如果您单击了填充按钮 并且填充时间比预期的要长,或者如果您不小心单击了它,您可以取消该过程。 此按钮仅在填充缓存时可用。
在地图选项卡的要素缓存组中,单击取消 以取消正在进行的填充请求。
警告:
如果在地图选项卡上未看到要素缓存组,请按照本主题上一节中的步骤访问这些控件。
当缓存填充被取消时,会有通知提醒您。