创建和管理属性规则

可以使用“属性规则”视图来查看和管理现有规则以及创建规则。 规则管理包括诸如更改规则属性、导入和导出规则、删除规则等任务。

“属性规则”视图可显示特定数据集的现有属性规则及其属性。 要创建属性规则或管理现有规则,必须以数据所有者身份从地理数据库访问该视图。

了解有关属性规则及其属性的详细信息

注:

如果从 ArcGIS Pro Basic 许可、web 要素图层进行访问,或者以非数据所有者身份从数据库连接进行访问,则属性规则视图为只读。

打开“属性规则”视图

可以从以下位置打开“属性规则”视图:

  • 目录窗格 - 右键单击要素类或表,然后单击数据设计 > 属性规则
  • 内容窗格 - 右键单击图层或表,然后单击数据设计 > 属性规则
  • 功能区 - 在内容窗格中选择图层或表格。 在要素图层选项卡集中,单击数据选项卡,然后单击数据设计组中的属性规则

导航部分

打开“属性规则”视图时,可以通过单击计算约束验证选项卡来查看各种规则类型。 现有规则将显示在每个选项卡上,每行表示一个单独的规则。 选择规则时,规则属性将显示在视图右侧的详细信息窗格中。

使用过滤器按钮配置属性规则视图。 可以使用按钮来修改规则列表中的可见列。 您还可以使用过滤按钮按规则属性对属性规则进行过滤。 过滤器将使用规则列表中的可见列。

属性规则视图

元素描述
1

可以使用选项卡在计算约束验证规则类型之间进行切换。

2

规则将在视图的格网部分中列出。 可以对列进行自定义以针对每个规则显示更多或更少详细信息。

3

详细信息窗格中包含格网中所选规则的属性,同时也可以用于在创建规则时输入属性。

“属性规则”视图的导航部分

配置“属性规则”视图

查看属性规则时,使用过滤器按钮可自定义“属性规则”视图的格网中显示的信息。

  1. 内容窗格中右键单击图层,然后单击数据设计 > 属性规则

    随即出现属性规则上下文选项卡。

  2. 单击下拉箭头,以使以下各列显示在格网中:
    默认情况下,每个规则的规则名称描述子类型版本列将显示在格网中。
    • 字段 - 将应用计算规则的字段。
    • 可编辑的 - 用于确定为计算规则指定的字段是否可编辑。
    • 错误编号 - 违反此规则时将返回的错误编号。
    • 触发器 - 将添加插入更新删除列以显示将触发规则的编辑事件。
    • 禁用 - 是否禁用该规则。
    • 排除 - 应用程序或客户端是否不会对规则进行评估。
    • 版本 - 包含最低 Pro 版本最低 Enterprise 版本最低 Arcade 版本列以显示属性规则与基于脚本表达式的 ArcGIS 客户端版本的兼容性。 有关详细信息,请参阅脚本表达式中 Arcade 的兼容性

    启用后,每种规则类型的列将显示在属性规则视图的格网中。

  3. 单击过滤器下拉箭头并选择过滤器查询。

    将过滤器应用于视图时,过滤器按钮 过滤器 将以蓝色突出显示。

创建属性规则

可以在“属性规则”视图中或使用添加属性规则工具来创建属性规则。 在创建属性规则之前,请确保数据源适用于规则类型,并且基础数据集存在独占锁。 这意味着没有任何连接或服务可以访问数据集。

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

要在“属性规则”视图中创建属性规则,请完成以下步骤:

  1. 目录窗格中,以数据所有者的身份浏览到地理数据库。

    提示:
    如果数据集位于活动地图视图中,则可以使用内容窗格。

  2. 右键单击数据集,然后单击数据设计 > 属性规则

    随即出现属性规则上下文选项卡。

  3. 属性规则选项卡的添加规则组中,单击要创建的所需属性规则类型的按钮。

    “添加规则”组

    所选规则类型可在属性规则视图中激活,您可以在随即显示的详细信息窗格中输入新规则的详细信息。

  4. 在“属性规则”视图的“详细信息”窗格中,输入新属性规则的属性。
    提示:
    以下一些属性仅适用于特定规则类型。 将通过红色星号 红色星号 指示正在创建的规则类型的必需属性。

    • 规则名称 - 规则的唯一名称。
    • 描述 - 将与规则一起存储的描述。
    • 子类型 - 如果数据集具有子类型,则将对其应用规则的子类型。
    • 字段 - 将应用该规则的字段的名称。
    • 可编辑 - 该复选框用于确定为规则指定的字段是否可编辑
    • 表达式 - 用于定义规则的 Arcade 表达式:
      • 可以使用表达式构建器 设置表达式 来配置和验证 Arcade 脚本。
      • 如果存在语法错误,则将在错误中引用行号和原因。 要在表达式构建器中查看行号,请右键单击表达式文本框,然后选择显示行号
      • 了解有关创作属性规则脚本表达式的详细信息
    • 错误编号 - 违反此规则时,将返回的错误编号
    • 错误消息 - 违反此规则时,将返回的错误消息
    • 触发器 - 将触发该规则的编辑事件:
      • 插入 - 将在添加新要素后应用规则。
      • 更新 - 将在更新要素后应用规则。
      • 删除 - 将在删除要素后应用规则。
    • 执行 - 指定规则的评估行为的设置:
      • 从应用程序评估中排除 - 如果选中,则该规则不会被应用程序或客户端评估,而是将在应用编辑后进行评估。
      • 禁用 - 如果选中,则将禁用该规则。
      • 批量 - 如果选中,则计算规则将为批处理计算规则,且必须通过验证服务进行评估。
    • 标签 - 用于标识规则的一组标签。

  5. 单击属性规则选项卡上的保存按钮 保存
  6. 随即针对数据集创建属性规则。

管理属性规则

在数据集上建立属性规则后,可以使用属性规则工具集中的工具和属性规则视图对其进行查看和管理。 可以在数据集上使用 arcpy.Describe 函数以打印属性规则属性。 您还可以从使用导出属性规则工具时创建的逗号分隔值 (.csv) 文件中查看数据集上的属性规则。

借助属性规则视图,您可以与打开视图的数据集或图层的属性规则进行交互。 视图处于活动状态时,属性规则组中包含用于管理规则的工具和命令。 可以将这些工具结合使用,以与视图和详细信息窗格进行交互。

“属性规则”组
  • 删除规则 - 删除视图中的所选规则。
  • 导入规则 - 从 .csv 文件中导入属性规则。
  • 导出规则 - 将属性规则导出到 .csv 文件。
  • 启用规则 - 启用视图中的所选规则。
  • 禁用规则 - 禁用视图中的所选规则。
  • 保存 - 提交在视图中进行的编辑。

您可以使用“属性规则”视图或禁用属性规则启用属性规则工具暂时禁用数据集上的属性规则。 这可以提高批量数据加载的性能,并且在必须暂停运行规则时非常有用。

要在现有数据集之间传输属性规则,请使用导出属性规则导入属性规则工具。 导出属性规则工具使用 .csv 文件来存储属性规则的定义。

属性规则将创建为地理数据库中要素类或表的属性。 可以使用复制粘贴或者导出 XML 工作空间文档导入 XML 工作空间文档工具,将属性规则包含在地理数据库中数据集的数据传输过程中。 数据迁移工具(如要素类至要素类表至表)不会将属性规则与基础数据集一起传递。 对于具有批量计算或验证规则的数据集,将为创建的输出数据集重置验证状态属性

注:

当使用复制粘贴以及 XML 工作空间文档来传输具有属性规则的数据集时,属性规则脚本表达式中引用的序列将被包括在内。

修改现有规则属性

创建属性规则后,可以使用“属性规则”视图来修改某些属性。 更改属性规则需要对基础数据集应用独占锁。

可以修改以下属性:

  • 描述
  • 表达式
  • 错误编号
  • 错误消息
  • 触发器
  • 标签
  • “禁用”复选框(“执行”部分下方)
  • 评估顺序(计算规则)
  • 从应用程序评估中排除

要更改现有属性规则,请完成以下步骤:

  1. 目录窗格中,以数据所有者的身份浏览到地理数据库。

    注:
    如果数据集位于活动地图视图中,则可以使用内容窗格。

  2. 右键单击数据集,然后单击数据设计 > 属性规则

    随即出现“属性规则”选项卡。

  3. 在“属性规则”视图中,选择要进行修改的规则的规则类型。
    • 计算
    • 约束
    • 验证
  4. 通过单击特定行来选择要进行修改的规则。

    详细信息窗格将显示规则属性。

  5. 在详细信息窗格中,可以对以下任何规则属性进行更改:

    • 描述
    • 表达式
    • 错误编号
    • 错误消息
    • 触发器
    • 标签
    • “禁用”复选框(“执行”部分下方)
    • 从应用程序评估中排除

    提示:
    对某些规则属性进行更改需要删除并重新创建该规则。 无法修改的规则属性为只读。

  6. 仅限计算规则:可以选择更改评估顺序。 单击视图中的计算选项卡。 在视图的规则列表部分中,针对要在评估顺序中移动的规则,修改顺序列值。
  7. 单击属性规则选项卡上的保存按钮 保存
  8. 随即更新属性规则的属性。

在数据集之间复制属性规则

在数据集上建立属性规则后,您可能会发现它们对您拥有的其他数据集非常有用。 可以通过多种方法在数据集之间复制相同规则类型的属性规则。 可执行以下操作:

  • 复制和粘贴
  • 导出和导入属性规则
注:

要将子类型应用于属性规则,您需要在将属性规则复制或导入到目标数据集后执行此操作。

复制和粘贴

支持使用键盘快捷键、快捷菜单和剪贴板在“属性规则”视图中进行复制和粘贴。 要在数据集之间复制属性规则,请完成以下步骤:

  1. 打开包含感兴趣的属性规则的源数据集以及要添加属性规则的目标数据集的属性规则视图

    随即打开源数据集和目标数据集的属性规则视图。

  2. 在包含属性规则的源数据集中,单击规则类型并选择要复制到目标数据集的属性规则。

    属性规则已选择

  3. 可以使用剪贴板中的复制、用于复制的键盘快捷键或者快捷菜单中的复制来复制所选属性规则。
  4. 在目标数据集中,单击与从源数据集复制的属性规则相匹配的规则类型,然后使用剪贴板中的粘贴、用于粘贴的键盘快捷键或者快捷菜单中的粘贴进行粘贴。

    随即将该属性规则添加至目标数据集。

  5. 单击属性规则选项卡上的保存按钮 保存

    属性规则将保存在目标数据集中。

导出和导入属性规则

导出和导入对于共享属性规则或者创建数据集规则的备份非常有用。 导出数据集的属性规则将创建一个逗号分隔值 (.csv) 文件,可以使用该文件导入到目标数据集中。 .csv 文件包含有关属性规则和 Arcade 脚本的元数据信息。

可以使用属性规则上下文选项卡上属性规则组中的导出规则或者导出属性规则地理处理工具。 要导出数据集的属性规则,请完成以下步骤:

  1. 打开要从中导出属性规则的数据集的“属性规则”视图

    随即打开数据集的属性规则视图。

  2. 属性规则上下文选项卡中,单击导出规则按钮。 导出规则按钮位于属性规则组中。

    随即出现导出规则对话框。

  3. 浏览至要保存 .csv 文件的文件夹,输入文件的名称,然后单击保存

    数据集的属性规则将保存在指定位置处的 .csv 文件中。

要导入属性规则,可以使用属性规则上下文选项卡上属性规则组中的导入规则或者导入属性规则地理处理工具。 要导入数据集的属性规则,请完成以下步骤:

  1. 打开要将属性规则导入到的数据集的“属性规则”视图

    随即打开数据集的属性规则视图。

  2. 属性规则上下文选项卡中,单击导入规则按钮。 导入规则按钮位于属性规则组中。

    随即出现“导入规则”对话框。

  3. 浏览至包含已导出属性规则 .csv 文件的文件夹,选择 .csv 文件,然后单击“确定”。

    随即将数据集的属性规则添加至“属性规则”视图。

  4. 单击属性规则选项卡上的保存按钮 保存

    属性规则将保存在目标数据集中。