图层、数据、地图和工程设置可能会影响访问数据时的性能。 以下部分提供了设置调整的背景以及其如何影响 ArcGIS Pro 中的数据访问工作流。
数据配置
在任何人向地图添加图层之前,数据所有者可以配置源数据以提高查询性能。
索引
借助数据上的索引,基础数据源可以高效地检索数据。
在数据库或地理数据库中创建数据时,需要考虑从 ArcGIS Pro 发送的 where 子句中的谓词过滤器包含的字段。 例如,这些 where 子句可能来自应用于图层的定义查询、来自子类型图层组中使用的子类型字段、来自用作连接到另一个图层的关键字段的字段,甚至来自用于符号化图层的字段。 确保将属性索引应用于这些字段。 对于空间数据,请确保这些数据集上存在空间索引。
空间参考
如果可能,请将所有数据存储在同一空间参考中。 将来自不同空间参考的数据添加至同一地图时,必须动态投影数据。 动态投影数据会产生性能成本。 成本的量级取决于数据的复杂性以及所投影的数据量。
Web 要素图层数据源可将数据重新投影到运行基础要素服务的服务器上。 由此会增加服务器处理并增大总体 CPU 使用率。
要素立方图格
如果点要素类包含数万个或更多点,并且其存储在关系数据库(包括企业级地理数据库)或云数据仓库中,请在要素类上启用要素图格。 由此,数据源可将点聚合到称为立方图格的面中。 将要素类添加至 ArcGIS Pro 地图中的要素类或者在地图中导航要素类时,绘制立方图格所需的时间将少于绘制所有点所需的时间。
提示:
您也可以在 ArcGIS Pro 中配置地图以将点要素聚合到立方图格中。 未启用要素图格的要素类以及来自其他数据源的点数据支持此功能。 在这种情况下,将在 ArcGIS Pro 计算机上进行聚合。 通过 ArcGIS Pro 渲染生成的立方图格比绘制所有点的速度更快,但渲染速度低于通过数据源生成的立方图格。 有关详细信息,请参阅将要素聚合到立方图格中。
地图和图层创作
在 ArcGIS Pro 中创建地图时,可以配置地图和图层设置,这些设置可帮助优化查询和绘制性能。
可见比例范围
限制图层的绘制比例是帮助避免在地图中进行不必要查询的最有效方法之一。 将图层可见性限制为相应比例时,可以减少请求大量数据的查询,从而减轻服务器的压力并提高性能。 此建议适用于所有图层以及这些图层的标注。 有关说明,请参阅创作多比例地图。
标注
在 ArcGIS Pro 中,标注特指自动生成和放置地图和场景要素的描述性文本的过程。 标注是地图上动态放置的一段文本。 文本字符串源自一个或多个要素属性。 标注是一种向地图添加文本的快速方法,因为您不会为每个要素手动添加文本。 在数据可能发生更改或将以不同的比例创建地图的情况下,标注这一方法会非常有用。
确保标注按比例创作并且性能良好。 在地图中使用多个标注类时,ArcGIS Pro 中的汇总报告功能用于标识可能导致性能问题的标注问题。 有关汇总报告功能的详细信息,请参阅使用标注汇总报表。
当创作标注时,需要设置可见比例范围以确保地图不会尝试以小比例绘制过多标注。 如果您使用图形文本,并且存储的文本超过数百条,请考虑使用地理数据库注记。
请谨慎使用要素权重。 将要素权重设置为无以外的任何值都会显著降低标注速度,因为标注引擎必须先计算每个要素的位置,然后再放置各个标注。
点、注记和尺寸注记要素不太复杂,因此要素权重对标注性能的影响可能较小,但这取决于要素类中的要素数量。
弹出窗口
弹出窗口功能内置于浏览工具中,该工具是 ArcGIS Pro 中常见导航命令的主要工具。 在地图或场景中显示要素图层时,可以打开弹出窗口以查看有关要素的属性信息,而无需进行选择或修改选择。
可以自定义弹出窗口以适应特定工作流,以便在单击要素时显示精选的相关信息。 不会将弹出窗口中未包含的数据加载到 ArcGIS Pro 中,由此可减少通过其他方法(例如打开属性窗格或者打开图层表)查看属性所需的时间。
当自定义弹出窗口时,以下元素可能会对性能和可扩展性产生影响。
- 字段 - 可以选择要显示的字段数量,并且可以包含相关数值字段的统计数据。 返回的字段越多,则每个弹出窗口的查询响应量越大。 当创作弹出窗口时,请仔细考虑工作流需要的字段并排除不需要的字段。 要返回字段的统计数据,需要对数据源进行单独的查询。 仅当用户需要时,才会包含相关记录的统计数据。
- 附件 - 附件可以在弹出窗口中作为文件列表返回;对于图像数据,则可以作为缩略图返回。 当以列表形式进行查看时,对数据访问请求的影响较小,因为元数据用于为弹出窗口提供列表信息。 但是,如果在 ArcGIS Pro 中打开附件或者查看附件缩略图,则会查询附件数据。
- ArcGIS Arcade - 当使用 Arcade 自定义弹出窗口时,可以使用 FeatureSet,其将返回要在弹出窗口中显示的信息。 有关在 Arcade 表达式中使用 FeatureSet 的详细信息,请参阅 Arcade 文档中 FeatureSet 的性能和弹出窗口信息。
地图提示
将指针放置在要素、表面或栅格影像上时,地图提示会提供有关属性或显示表达式等方面的信息。 地图提示是图层属性设置,不需要您使用弹出窗口或属性窗格,便可直接访问显示字段信息。
启用地图提示后,需要许多查询来提供 MapTips 中包含的信息。 将光标悬停在要素上时,将提交查询以检索图层显示字段的值。 每次将光标悬停在地图中的要素上时,按绘制顺序列出的前四个图层都会发生这种情况。 这可能会造成数据存储层负载过重,从而导致 ArcGIS Pro 性能降低。 如果不需要快速访问显示字段作为工作流的一部分,建议禁用地图提示。
过滤器
ArcGIS Pro 中的过滤器有助于重点关注地图内容以对工作流所需的数据进行操作。 可以对地图和图层应用多种类型的过滤以实现上述重点关注。 这些过滤设置的另一项优势是减少了请求的数据量。
定义查询
通过过滤要从数据源中检索的要素,定义查询可用于定义要使用的图层要素子集。 在查询构建器中,定义查询由以 SQL 语法编写的一个或多个子句组成。 对于基于文件和数据库的数据源,定义查询应用于 ArcGIS Pro 中的客户端。 对于 web 要素图层,可以在发布之前将定义查询应用于地图图层。 如果在发布之前应用定义查询,则 web 要素图层将支持所有请求上的定义查询,当客户端(例如 ArcGIS Pro)使用 web 要素图层时,其本质上充当客户端不可见的永久过滤器。
时间和范围过滤器
ArcGIS 中已定义时间属性的图层被视为时间感知型图层。 当在 ArcGIS Pro 的地图中使用时间感知型图层时,时间滑块可用于允许进行过滤。 通过配置范围设置,您也可以使用范围滑块,根据数据中的属性进行过滤。 范围和时间滑块均用于自定义地图中的视图设置,以重点关注您感兴趣查看的数据。 这些设置可以通过减少查询的数据量来提高性能。
使用过滤器的优势
将过滤器正确应用于数据时,查询响应的大小会更小,并且会减少从数据源传输到客户端的数据量。 该应用程序将重点关注与给定工作流相关的要素。
使用过滤器时的注意事项
要在使用定义查询时提高可扩展性和性能,请确保定义的查询具有选择性。 一个选择性查询的示例是查询列中的特定值,例如 color = 'red'。 相反,一个非选择性查询的示例为 objectID > 1。 在第一个示例中,仅返回 color 字段值为 red 的行。 在第二个示例中,将从数据源中返回除了一行之外的所有行。 如果添加非选择性定义查询,则为该图层返回的数据量可能不会减少,或者,在最坏的情况下,可能会由于运行查询所需的时间而导致性能下降。
您必须了解数据和数据分布,才能有效地编写选择性查询。 如果您经常使用定义查询,请确保查询中引用的字段上存在属性索引。
对于时间或范围过滤器,如果定期调整过滤器(例如通过时间设置动画),则过滤器可能对提高查询的数据量作用有限,或者实际上可能会增加查询请求的数量。
子类型图层组和表
当使用包含子类型的地理数据库或要素服务数据时,可以利用子类型图层组或子类型组表以更加高效地查询数据。
子类型组图层是复合要素图层,其中包含多个被称为子类型图层的子图层。 与此相关的是,子类型组表包含多个子表,称为子类型表。 每个子类型图层或子类型表对应于源数据集或服务中的一个子类型。 可以控制基于比例的可见性和符号系统,或者单独查看每个子类型的属性表。 子类型图层组旨在取代向地图添加多个单独图层的工作流。
当查询子类型图层组或表时,ArcGIS Pro 将向子类型图层中所有图层的数据源发送单个查询。 此查询模式比按图层进行查询更加有效,当地图中存在多个单独图层时会发生这种情况。
缓存
当在 ArcGIS Pro 计算机上缓存数据时,需要对数据源进行较少的查询。
图层缓存
可以使用图层属性中的缓存选项来缓存 ArcGIS Pro 地图中的所有要素图层。 对于来自数据库、企业级地理数据库或者本地要素图层的数据,此设置将启用相应缓存,该缓存用于显示之前访问的显示范围。
图层缓存的优势
当重新访问之前缓存的范围时,将向数据源发送少量(如果存在)查询以在屏幕上呈现数据。 这有助于减少数据显示的数据请求。 应该尽可能在企业环境中使用缓存,以减少数据访问请求。
使用图层缓存时的注意事项
当同一区域的多位用户频繁更新数据时,数据用户可能需要在这些更改发生时立即进行访问。 如果您拥有本地数据缓存,则其他用户进行的数据更新将在 ArcGIS Pro 会话中不可见。 为了帮助解决此问题,可以使用一些设置以使缓存频繁失效。 或者,如果您需要更加直接地访问数据编辑内容,则可以完全不使用缓存。 请参阅设置缓存选项以了解如何设置这些选项。
要素缓存
在 ArcGIS Pro 中显示 web 要素图层(要素服务)时,除了图层缓存之外,使用本地要素缓存可以进一步减少检索数据的查询请求。
ArcGIS Pro 使用要素缓存来满足许多不同类型的数据请求。 默认情况下,将自动缓存所有要素服务图层,以提高性能和可扩展性。 有关详细信息,请参阅 Web 要素图层(要素服务)的缓存选项和要素缓存条件。
对于 web 要素图层,系统还提供了附加控件,以便独立于图层缓存来管理要素缓存。 在地图中的图层不满足前述要素缓存条件的情况下,请使用这些附加控件。 必须查看并理解要素缓存条件,以确保按预期对要素进行缓存。 当不满足要素缓存条件时,使用这些控件填充本地缓存可以显著减少给定工作流所需的查询数量。
要素缓存的优势
启用后,要素缓存可显著减少发送至 ArcGIS Server 站点的请求数量。 本地缓存一旦创建,即可用于已缓存区域中的大多数查询。
使用要素缓存时的注意事项
当多位用户频繁更新覆盖同一地理区域的数据时,其他用户可能需要在进行数据编辑时立即进行访问。 当使用本地数据缓存时,其他用户在其现有 ArcGIS Pro 会话期间看不到更新。 为了帮助解决此问题,可以清空缓存或者禁用要素缓存的自动填充。
注:
已启用版本管理功能的要素服务将访问授权版本。 此版本模型允许多位查看者,但仅允许一位编辑者。 这意味着多位用户无法同时修改授权版本中的数据。 当使用授权版本时,建议始终使用要素缓存。
附加 ArcGIS Pro 设置
以下附加设置可能会影响查询源数据的频率:
地图的预定义缩放比例
当在地图中使用要素图层时,图层缓存允许在 ArcGIS Pro 计算机上缓存数据,以避免向数据源发送查询。 将基于可见范围和当前地图比例来缓存数据。 要降低向数据源发送查询以创建唯一图层缓存的频率,可以定义当地图用户进行放大或缩小时,数据将在地图中进行绘制的地图比例。
启用此设置后,仅当使用固定放大和缩小按钮、鼠标滚轮按钮或者键盘上的加号 (+) 和减号 (-) 键时,ArcGIS Pro 才会缩放至预定义比例列表。
注:
当使用连续缩放或矩形缩放命令时,不会使用这些预定义比例。
工程导航选项
以下工程设置可能会影响导航地图或场景期间发送的 ArcGIS 查询:
- 过渡时间 - 此设置用于控制 ArcGIS Pro 在位置之间导航所需的时间。 它对书签之间的过渡或者在之前访问的范围之间导航时的过渡进行动画处理,这将有助于在两个不同的空间范围之间导航时保持方向。 此动画体验需要其他数据请求,并且默认处于禁用状态。
- 启用平移手势 - 在地图或场景中进行平移时,此设置有助于导航至释放鼠标按钮后鼠标移动的方向。 (默认)启用此设置后,地图或场景会沿着拖动地图的方向轻轻滑动。 这可能会导致地图超出所需位置。 发生这种情况时,会在不需要时查询其他数据。
导航选项中介绍了这些选项。
应用程序设置
安装 ArcGIS Pro 的系统管理员可以更改应用程序设置,以使某些设置可用、隐藏或预先配置,无需用户输入。
对于使用 web 要素图层的 ArcGIS Pro 安装,应启用的此类选项之一为 ManageFeatureCaching 选项。 此选项将为用户启用 ArcGIS Pro 中地图选项卡上的要素缓存组,因此用户无需启用该组。