创建和管理属性规则
可以使用“属性规则”视图来查看和管理现有规则以及创建规则。 规则管理包括诸如更改规则属性、导入和导出规则、删除规则等任务。
“属性规则”视图可显示特定数据集的现有属性规则及其属性。 要创建属性规则或管理现有规则,必须以数据所有者身份从地理数据库访问该视图。
注:
如果从 ArcGIS Pro Basic 许可、web 要素图层进行访问,或者以非数据所有者身份从数据库连接进行访问,则属性规则视图为只读。
打开“属性规则”视图
可以从以下位置打开“属性规则”视图:
目录窗格 - 右键单击要素类或表,然后单击数据设计 > 属性规则。
内容窗格 - 右键单击图层或表,然后单击数据设计 > 属性规则。
功能区 - 在内容窗格中选择图层或表格。 在要素图层选项卡集中,单击数据选项卡,然后单击数据设计组中的属性规则。
导航部分
打开“属性规则”视图时,可以通过单击计算、约束或验证选项卡来查看各种规则类型。 现有规则将显示在每个选项卡上,每行表示一个单独的规则。 选择规则时,规则属性将显示在视图右侧的详细信息窗格中。
使用列和过滤器按钮配置属性规则视图。 可以使用列按钮来修改规则列表中的可见列。 您还可以使用过滤按钮按规则属性对属性规则进行过滤。 过滤器将使用规则列表中的可见列。

|
元素 |
描述 |
|---|---|
|
|
可以使用选项卡在计算、约束和验证规则类型之间进行切换。 |
|
|
规则将在视图的格网部分中列出。 可以对列进行自定义以针对每个规则显示更多或更少详细信息。 |
|
|
详细信息窗格中包含格网中所选规则的属性,同时也可以用于在创建规则时输入属性。 |
配置“属性规则”视图
查看属性规则时,使用列和过滤器按钮可自定义“属性规则”视图的格网中显示的信息。
打开“属性规则”视图。
单击列下拉菜单以选择要在格网中显示的列:
默认情况下,每个规则的已禁用、规则名称、子类型和版本列将显示在格网中。
字段 - 将应用计算规则的字段。
可编辑 - 用于确定为计算规则指定的字段是否可编辑。
描述 - 详细描述属性规则行为的文本。
错误编号 - 违反此规则时将返回的错误编号。
触发器 - 将添加插入、更新和删除列以显示将触发规则的编辑事件。
已禁用 - 如果已禁用规则。
排除 - 应用程序或客户端是否不会对规则进行评估。
版本 - 包含最低 Pro 版本、最低 Enterprise 版本和最低 Arcade 版本列以显示属性规则与基于脚本表达式的 ArcGIS 客户端版本的兼容性。 有关详细信息,请参阅脚本表达式中 Arcade 的兼容性。
启用后,每种规则类型的列将显示在属性规则视图的格网中。
注:
子类型列始终显示下拉菜单选项:“全部”、“多个”或特定的子类型名称。 可以直接在格网“子类型”列的下拉菜单中更改子类型。
单击过滤器下拉箭头并选择过滤器查询。
将过滤器应用于视图时,过滤器按钮
将以蓝色突出显示。
创建属性规则
您可以使用“属性规则”视图或使用地理处理工具从头开始或从现有模板开始创建属性规则。
注:
向数据集添加属性规则将影响向后兼容性:
将属性规则添加到数据集后,它与 ArcMap 或 ArcGIS Pro 2.0 及更低版本不兼容。 有关客户端版本与地理数据库版本不同时提供的功能的详细信息,请参阅客户端和地理数据库的兼容性。
较新的 Arcade 函数将影响可使用属性规则访问数据集的 ArcGIS 客户端版本。 有关详细信息,请参阅脚本表达式中 Arcade 的兼容性。
准备数据
在创建属性规则之前,请确保以下事项:
请确保数据源适用于规则类型,并且基础数据集存在独占锁。
GlobalID 已启用。
对于延迟评估类型的规则(批量计算和验证规则),已启用编辑者追踪。
在企业级地理数据库中,您是数据所有者。
创建实时计算属性规则
要在“属性规则”视图中创建“即时计算”属性规则,请执行以下步骤:
打开“属性规则”视图。
在属性规则选项卡上的添加规则组中,单击计算规则按钮,然后在下拉菜单中选择“即时计算”。

所选规则类型可在属性规则视图中激活,您可以在随即显示的详细信息窗格中输入新规则的详细信息。
在“属性规则”视图的“详细信息”窗格中,输入新属性规则的属性。
规则名称 - 规则的唯一名称。
描述 - 将与规则一起存储的描述。
子类型 - 如果数据集具有子类型,则将对其应用规则的子类型
字段 - 将应用该规则的字段的名称。
可编辑 - 该复选框用于确定为规则指定的字段是否可编辑
表达式 - 用于定义规则的 Arcade 表达式:
可以使用表达式构建器
来配置和验证 Arcade 脚本。如果存在语法错误,则将在错误中引用行号和原因。 要在表达式构建器中查看行号,请右键单击表达式文本框,然后选择显示行号。
触发器 - 将触发该规则的编辑事件:
插入 - 将在添加新要素后应用规则。
更新 - 将在更新要素后应用规则。
删除 - 将在删除要素后应用规则。
触发字段 - 更新要素时触发属性规则运行的字段。
注:
仅适用于触发事件为更新的情况。
执行 - 指定规则的评估行为的设置:
从应用程序评估中排除 - 如果选中,则该规则不会被应用程序或客户端评估,而是将在应用编辑后进行评估。
禁用 - 如果选中,则将禁用该规则。
错误编号 - 违反此规则时,将返回的错误编号
错误消息 - 违反此规则时,将返回的错误消息
标签 - 用于标识规则的一组标签。
单击属性规则选项卡上的保存按钮
。
随即针对数据集创建属性规则。
创建批量计算属性规则
要在“属性规则”视图中创建“批量计算”属性规则,请执行以下步骤:
打开“属性规则”视图。
在属性规则选项卡上的添加规则组中,单击计算规则按钮,然后在下拉菜单中选择“批量计算”。

所选规则类型可在属性规则视图中激活,您可以在随即显示的详细信息窗格中输入新规则的详细信息。
在“属性规则”视图的“详细信息”窗格中,输入新属性规则的属性。
规则名称 - 规则的唯一名称。
描述 - 将与规则一起存储的描述。
子类型 - 如果数据集具有子类型,则将对其应用规则的子类型
字段 - 将应用该规则的字段的名称。
可编辑 - 该复选框用于确定为规则指定的字段是否可编辑
表达式 - 用于定义规则的 Arcade 表达式:
可以使用表达式构建器
来配置和验证 Arcade 脚本。如果存在语法错误,则将在错误中引用行号和原因。 要在表达式构建器中查看行号,请右键单击表达式文本框,然后选择显示行号。
执行 - 指定规则的评估行为的设置:
禁用 - 如果选中,则将禁用该规则。
批量 - 如果选中,则计算规则将为批处理计算规则,且必须通过验证服务进行评估。
错误编号 - 违反此规则时,将返回的错误编号
错误消息 - 违反此规则时,将返回的错误消息
标签 - 用于标识规则的一组标签。
单击属性规则选项卡上的保存按钮
。
随即针对数据集创建属性规则。
创建约束属性规则
要在“属性规则”视图中创建“约束”属性规则,请完成以下步骤:
打开“属性规则”视图。
在属性规则选项卡上的添加规则组中,单击约束规则按钮。
所选规则类型可在属性规则视图中激活,您可以在随即显示的详细信息窗格中输入新规则的详细信息。
在“属性规则”视图的“详细信息”窗格中,输入新属性规则的属性。
规则名称 - 规则的唯一名称。
描述 - 将与规则一起存储的描述。
子类型 - 如果数据集具有子类型,则将对其应用规则的子类型
表达式 - 用于定义规则的 Arcade 表达式:
可以使用表达式构建器
来配置和验证 Arcade 脚本。如果存在语法错误,则将在错误中引用行号和原因。 要在表达式构建器中查看行号,请右键单击表达式文本框,然后选择显示行号。
触发器 - 将触发该规则的编辑事件:
插入 - 将在添加新要素后应用规则。
更新 - 将在更新要素后应用规则。
删除 - 将在删除要素后应用规则。
触发字段 - 更新要素时触发属性规则运行的字段。
注:
仅适用于触发事件为更新的情况。
执行 - 指定规则的评估行为的设置:
从应用程序评估中排除 - 如果选中,则该规则不会被应用程序或客户端评估,而是将在应用编辑后进行评估。
禁用 - 如果选中,则将禁用该规则。
错误编号 - 违反此规则时,将返回的错误编号
错误消息 - 违反此规则时,将返回的错误消息
标签 - 用于标识规则的一组标签。
单击属性规则选项卡上的保存按钮
。
随即针对数据集创建属性规则。
创建验证属性规则
要在“属性规则”视图中创建“验证”属性规则,请完成以下步骤:
打开“属性规则”视图。
在属性规则选项卡上的添加规则组中,单击验证规则按钮。
所选规则类型可在属性规则视图中激活,您可以在随即显示的详细信息窗格中输入新规则的详细信息。
在“属性规则”视图的“详细信息”窗格中,输入新属性规则的属性。
规则名称 - 规则的唯一名称。
描述 - 将与规则一起存储的描述。
子类型 - 如果数据集具有子类型,则将对其应用规则的子类型
表达式 - 用于定义规则的 Arcade 表达式:
可以使用表达式构建器
来配置和验证 Arcade 脚本。如果存在语法错误,则将在错误中引用行号和原因。 要在表达式构建器中查看行号,请右键单击表达式文本框,然后选择显示行号。
执行 - 指定规则的评估行为的设置:
从应用程序评估中排除 - 如果选中,则该规则不会被应用程序或客户端评估,而是将在应用编辑后进行评估。
禁用 - 如果选中,则将禁用该规则。
错误编号 - 违反此规则时,将返回的错误编号
错误消息 - 违反此规则时,将返回的错误消息
严重性 - 错误的严重程度。 该值的定义范围为 1(高)到 5(低)。
标签 - 用于标识规则的一组标签。
单击属性规则选项卡上的保存按钮
。
随即针对数据集创建属性规则。
通过属性规则模板创建属性规则
属性规则模板可帮助您创建适用于特定工作流的属性规则。
要在“属性规则”视图中通过模板创建属性规则,请完成以下步骤:
打开“属性规则”视图。
使用以下选项之一打开属性规则模板对话框:
在属性规则选项卡上的添加规则组中,单击计算规则按钮的下半部分,单击模板然后单击其中一个模板属性规则。
在“属性规则”视图中,单击添加规则按钮下拉菜单,单击模板,然后单击其中一个模板属性规则。
模板规则对话框随即显示。 每个对话框显示特定于所选属性规则模板的不同选项和参数。
了解有关模板属性规则的详细信息。
注:
对话框的顶部显示数据集的名称以及属性规则模板的名称。
为各个参数填写值,然后单击确定。
属性规则视图使用提供的输入填充。
查看属性规则属性,执行所需更改(例如更改规则名称和描述),然后单击保存。
管理属性规则
在数据集上建立属性规则后,可以使用属性规则工具集中的工具和属性规则视图对其进行查看和管理。 可以在数据集上使用 arcpy.Describe 函数以打印属性规则属性。 您还可以从使用导出属性规则工具创建的逗号分隔值文件 (.csv) 中查看数据集上的属性规则。
借助属性规则视图,您可以与打开视图的数据集或图层的属性规则进行交互。 当视图处于活动状态时,管理编辑内容、编辑和导入和导出组包含用于管理规则的工具和命令。 可以将这些工具结合使用,以与视图和详细信息窗格进行交互。
保存 - 提交执行的编辑。
删除规则 - 删除所选规则。
启用规则 - 启用所选规则。
禁用规则 - 禁用所选规则。
导入规则 - 从
.csv文件中导入属性规则。导出规则 - 将属性规则导出到
.csv文件。
提示:
可右键单击行标题访问以下快捷菜单命令:
剪切、复制、粘贴 - 使用常用剪贴板操作。
删除 - 删除属性规则。
恢复 - 恢复“保存”操作之前的已删除属性规则。
您可以使用“属性规则”视图或禁用属性规则和启用属性规则工具暂时禁用数据集上的属性规则。 这可以提高批量数据加载的性能,并且在必须暂停运行规则时非常有用。
要在现有数据集之间传输属性规则,请使用导出属性规则和导入属性规则工具。 导出属性规则工具使用 .csv 文件来存储属性规则的定义。
属性规则将创建为地理数据库中要素类或表的属性。 可以使用复制和粘贴或者导出 XML 工作空间文档和导入 XML 工作空间文档工具,将属性规则包含在地理数据库中数据集的数据传输过程中。 数据迁移工具(如要素类至要素类和表至表)不会将属性规则与基础数据集一起传递。 对于具有批量计算或验证规则的数据集,将为创建的输出数据集重置验证状态属性。
注:
当使用复制粘贴以及 XML 工作空间文档来传输具有属性规则的数据集时,属性规则脚本表达式中引用的序列将被包括在内。
修改现有规则属性
创建属性规则后,可以使用“属性规则”视图来修改某些属性。 更改属性规则需要对基础数据集应用独占锁。
要更改现有属性规则,请完成以下步骤:
打开“属性规则”视图。
在“属性规则”视图中,选择要进行修改的规则的规则类型。
计算
约束
验证
通过单击特定行来选择要进行修改的规则。
详细信息窗格将显示规则属性。
在详细信息窗格中,可以对以下任何规则属性进行更改:
描述
表达式
子类型
触发器
触发字段
“禁用”复选框(“执行”部分下方)
从应用程序评估中排除(“执行”部分下方)
错误编号
错误消息
标签
注:
无法修改的规则属性为只读。 对这些属性进行更改需要删除并重新创建规则。
仅限计算和约束规则:可以选择更改评估顺序。 单击视图中的计算或约束选项卡。 在视图的规则列表部分中,针对要更改规则评估顺序的规则,修改顺序列值。 有关评估顺序的详细信息,请参阅计算规则和约束规则。
单击属性规则选项卡上的保存按钮
。随即更新属性规则的属性。
在数据集之间复制属性规则
在数据集上建立属性规则后,您可能会发现它们对您拥有的其他数据集非常有用。 可以通过多种方法在数据集之间复制相同规则类型的属性规则。 可执行以下操作:
复制和粘贴
导出和导入属性规则
注:
要将子类型应用于属性规则,您需要在将属性规则复制或导入到目标数据集后执行此操作。
复制和粘贴
支持使用键盘快捷键、快捷菜单和剪贴板在“属性规则”视图中进行复制和粘贴。
要在数据集之间复制属性规则,请完成以下步骤:
打开包含感兴趣的属性规则的源数据集以及要添加属性规则的目标数据集的“属性规则”视图。
随即打开源数据集和目标数据集的属性规则视图。
在包含属性规则的源数据集中,单击规则类型,选择要复制到目标数据集的一个或多个属性规则,然后单击“复制”。
属性规则将添加到剪贴板,以供粘贴时引用。
在目标数据集中,单击与从源数据集复制的属性规则相匹配的规则类型,然后单击“粘贴”。
随即这些属性规则将添加至目标数据集。
单击属性规则选项卡上的保存按钮
。属性规则将保存在目标数据集中。
导出属性规则
导出和导入对于共享属性规则或者创建数据集规则的备份非常有用。 导出数据集的属性规则将创建一个逗号分隔值文件 (.csv),您可以将该文件导入到目标数据集中。 .csv 文件包含有关属性规则和 Arcade 脚本的元数据信息。
可以使用属性规则上下文选项卡上属性规则组中的导出规则或者导出属性规则地理处理工具。 要导出数据集的属性规则,请完成以下步骤:
打开要从中导出属性规则的数据集的“属性规则”视图。
随即打开数据集的属性规则视图。
在属性规则上下文选项卡中,单击导出规则按钮。
导出规则按钮位于属性规则组中。
随即出现导出规则对话框。
浏览至要保存
.csv文件的文件夹,输入文件的名称,然后单击保存。数据集的属性规则将保存在指定位置处的
.csv文件中。
导入属性规则
要导入属性规则,可以使用属性规则上下文选项卡中属性规则组中的导入规则,也可以使用导入属性规则地理处理工具,或者使用目录窗格、目录视图或文件资源管理器将导出的属性规则 .csv 文件拖放到属性规则视图中。
要导入数据集的属性规则,请完成以下步骤:
打开要将属性规则导入到的数据集的“属性规则”视图。
随即打开数据集的属性规则视图。
在属性规则上下文选项卡中,单击导入规则按钮。
导入规则按钮位于属性规则组中。
随即出现导入规则对话框。
浏览至包含已导出属性规则
.csv文件的文件夹,选择一个或多个.csv文件,然后单击确定。随即将数据集的属性规则添加至“属性规则”视图。
单击属性规则选项卡上的保存按钮
。属性规则将保存在目标数据集中。