属性规则简介

属性规则可改善地理数据库数据集的编辑体验并提高数据完整性。这些规则均为用户定义的规则,可用于自动填充属性、在编辑操作期间限制无效编辑,以及对现有要素执行质量保证检查。

属性规则是对地理数据库中现有规则(如域和子类型)的补充。例如,可以为编辑器提供有效值的选择列表,从而将域分配给属性字段以协助数据采集过程。此外,在执行字段计算时,可使用属性规则来限制不属于该属性域的属性字段值。将规则添加到数据集后,可以在进行编辑当时或之后对其进行评估。

以下是说明如何在地理数据库中使用属性规则的示例:

  • 为了在编辑期间节省时间,系统将自动为新创建的要素填充特定属性值。例如在创建新电线杆时,系统将按顺序生成 assetID 属性。
  • 为帮助维护数据完整性,可根据用户要求阻止编辑。例如在创建或更新单相变压器时,phasescurrent 属性必须为 A、B 或 C。
  • 在用户指定的时间填充现有要素的特定属性值。例如,通过串联多个文本字段来填充现有要素的 fulladdress 字段。
  • 检查现有要素以确保在完成字段编辑后可以满足用户要求。例如我们可以评估现有要素,以确保当电线杆高于 65 英尺时,材料一定是钢。未通过评估的要素将标记为待检查的错误要素。

规则类型

创建属性规则时,必须指定要使用的规则类型。选择的属性规则类型取决于所需的任务以及在编辑过程中需要对规则进行哪些方面的评估。请查看以下规则类型详细信息,以确定适合您工作流的规则类型:

  • 计算 - 为了提高数据的采集和编辑效率,实时计算规则将根据编辑模式自动填充属性。这可以在创建新要素或对现有要素进行更改时改善编辑体验。还可以在用户指定的时间对数据集中所有要素进行批处理计算规则评估。可在文件或企业级地理数据库的数据集上创建实时计算规则,而在企业级地理数据库的数据集上创建批处理计算规则。
  • 约束 - 为确保将质量数据输入到 GIS 中,约束规则将根据用户定义的要求来控制数据输入。这可以防止在编辑操作期间输入无效数据,以确保数据完整性。可以在文件或企业级地理数据库的数据集上创建约束规则。
  • 验证 - 为了查看违反指定属性或几何要求的要素,验证规则将高亮显示现有数据中的错误。这可以提高用户对受影响要素的关注度,从而提高数据完整性。验证规则在企业级地理数据库的数据集上进行创建。

属性规则视图

可以在属性规则各自的表格形式视图中查看、创建和管理属性规则。可以使用数据集的快捷菜单直接从目录内容窗格访问“属性规则”视图。也可以通过单击功能区上的属性规则按钮来对其进行访问;当选择地图视图中的活动图层或使用“字段”或“子类型”视图时,可在数据选项卡上的设计组中使用此选项。

有关使用此视图的更多详细信息,请参阅属性规则视图

创建属性规则

以数据所有者身份为输入要素类或表创建属性规则。可以使用添加属性规则工具在“属性规则”视图中创建规则;或使用导入属性规则工具导入规则。规则可以针对规则定义中的特定子类型。当您希望仅将某规则应用于数据集中的要素子集时,这将非常有用。

Arcade 脚本表达式可用作规则定义的一部分,用于定义要计算的内容或有效的要素配置。Arcade 是一种可在 ArcGIS 平台上使用的便携式表达式语言。

有关创作属性规则类型的需求和全局变量,请参阅 Arcade 配置文件。在开始构建属性规则的脚本表达式时,可以将 Arcade 入门指南函数索引用作附加资源。

了解有关创作属性规则脚本表达式的详细信息

注:
向数据集添加属性规则将影响向后兼容性:
  • 属性规则添加到数据集后,它与 ArcMapArcGIS Pro 2.0 及较早版本不兼容。有关客户端版本与地理数据库版本不同时提供的功能的详细信息,请参阅客户端和地理数据库的兼容性
  • 较新的 Arcade 函数将影响可使用属性规则访问数据集的 ArcGIS 客户端版本。有关详细信息,请参阅脚本表达式中 Arcade 的相容性

管理属性规则

在地理数据库中的数据集上建立属性规则后,可通过多种方法查看和管理规则。属性规则视图可用于显示属性、更改现有属性规则以及创建规则。属性规则工具集中的地理处理工具也可用于管理数据集的属性规则或编写某些任务的脚本。

可以在数据集上使用 arcpy.Describe 函数以打印属性规则属性。也可以通过使用导出属性规则工具并查看导出的 CSV 文件的内容来查看属性规则属性。

可以使用属性规则视图或禁用属性规则启用属性规则工具暂时禁用数据集上的属性规则。当处于已禁用状态时,将不会执行特定规则以触发事件。这可以提高批量数据加载的性能,并且对必须暂停执行规则的时段非常有用。

属性规则将创建为地理数据库中要素类或表的属性。可以使用复制并粘贴或者导出 XML 工作空间文档导入 XML 工作空间文档工具,将属性规则包含在地理数据库中数据集的数据传输过程中。要在现有数据集之间传输属性规则,请使用导出属性规则导入属性规则工具。导出属性规则工具使用 CSV 文件来存储属性规则的定义。数据迁移方法(如要素类到要素类表格到表格)不会将属性规则与基础数据集一起传递。

注:

在执行导入 XML 工作空间文档过程中,将从导出 XML 工作空间文档工具中排除序列,并且不会将引用序列的属性规则添加到目标地理数据库中的数据。

评估属性规则并管理错误要素

可以在编辑操作期间或在用户指定的时间使用验证服务对数据集进行属性规则评估。根据规则类型和属性,属性规则评估将在不同时间进行:

  • 实时评估
    • 实时计算规则
    • 约束规则
  • 延迟评估
    • 批处理计算规则
    • 验证规则

了解有关属性规则评估的详细信息

评估批处理计算和验证规则时,将创建错误以突出显示违反属性规则的数据。所有错误都将在错误图层中存储为错误要素。可以在质量保证工作流中,通过错误检查器查看错误要素。

了解有关管理属性规则错误的详细信息