如果图层或表中某个字段的值决定或限制了同一图层或表中另一个字段的有效值,您可以定义这些条件约束,以帮助确保编辑人员使用正确的值。
每个字段都应定义相应的属性域列表或范围。 使用有限的值列表或值范围,您可以设定特定规则,例如,当某个字段设置为特定值时,意味着另一个字段仅允许使用特定的值集合。 该约束可通过应用附加约束以减少有效字段值的数量来强制保持数据完整性。
要定义哪些字段依赖于其他字段或决定其他字段的值,请创建包含这些字段的字段组。
以下是关于如何为托管要素图层或托管表中的图层或表定义条件值组合的概述:
注:
请记住以下几点:
字段组
字段组提供了强制执行条件值的框架,因为它定义了哪些字段包含相互依赖的值。
字段组必须包含同一图层或表中的至少两个字段。 每个字段组必须包含一组唯一的字段。
创建字段组
要创建字段组,请完成以下步骤:
- 登录到组织。
您必须是托管图层的所有者、默认管理员角色的成员或者是拥有管理组织成员所有内容所需管理权限的自定义角色的成员。
- 打开受影响托管要素图层或托管表的项目页面。
- 单击数据选项卡,然后单击条件值。
- 使用下拉菜单选择包含具有相互依赖值的字段的图层或表。
- 单击创建字段组。
- 提供字段组的名称。
字段组名称必须唯一。 它们最多可包含 128 个字母数字字符、下划线或空格,但必须以字母开头。
字段组创建后,便无法更改其名称或其中包含的字段;但是,您可以更改限制性设置。
- 使用限制性切换按钮来定义针对字段定义的组合是强制执行还是仅作为指导准则,具体如下:
- 限制性切换按钮开启 - 系统将强制执行条件值组合;编辑人员无法应用不符合您所定义规则的值。
- 限制性切换按钮关闭 - 在此非限制状态下,编辑人员会看到有效的条件值列表,但也可以使用字段设置的属性域所支持的其他值。
注:
该非限制性状态不适用于 web 客户端,例如 Map Viewer、Scene Viewer 和 ArcGIS Web Editor。 在 web 客户端中,编辑人员只能使用为条件值组合定义的值。
- 选中每个具有相互依赖值的字段旁边的复选框。
- 单击创建。
接下来,定义组中字段的条件值。
打开字段组
要打开现有字段组的字段及条件值组合,请完成以下步骤:
- 登录到组织。
您必须是托管图层的所有者、默认管理员角色的成员或者是拥有管理组织成员所有内容所需管理权限的自定义角色的成员。
- 打开受影响托管要素图层或托管表的项目页面。
- 单击数据选项卡,然后单击条件值。
- 使用下拉菜单选择包含字段组的图层或表。
- 执行以下操作之一:
- 从图层下拉菜单中,选择定义字段组的图层或表;然后在字段组下拉菜单中,选择相应的字段组。
- 单击浏览字段组,从名称下的列表中选择字段组,然后单击查看条件值。
删除字段组
在删除字段组之前,必须先删除为该字段组设置的所有条件值组合。
警告:
字段组将立即删除,且无法恢复。
要删除字段组,请完成以下步骤:
- 打开字段组。
- 为字段组删除定义的所有条件值。
- 单击浏览字段组。
- 从名称下的列表中,选择不再包含任何条件值组合的字段组。
- 单击删除字段组。
定义条件值
当字段组中包含相互依赖的字段时,请按照以下步骤定义各字段的值如何依赖于其他字段。
您可以根据需要定义任意数量的条件值组合。
对于您定义的每一个条件值组合,您必须为字段组中的每个字段选择一个值。
对于具有属性域列表的字段,请从列表中选择一个值。 对于具有属性域范围的字段,请在现有的属性域范围内定义最小值和最大值。 或者,对于条件值组合中的任意字段,您可以选择以下选项之一:
- [ANY] - 该字段可包含任何允许的值。
- [NULL] - 如果字段配置为允许空值,且您指定了该值,则编辑人员在此组合中必须将该字段留空。
提示:
对于未应用属性域的字段,[ANY] 和 [NULL] 是仅有的可用选项。
- 打开字段组。
提示:
首次创建字段组时,系统会立即打开该字段组的条件值视图。
- 如果图层是基于已定义子类型的 ArcGIS Pro 中的数据发布的,请选择您要为其定义条件值的子类型。
- 单击组中某个字段下方的空单元格。
- 选择值,或定义范围子集,以此决定字段组中其他字段的允许值。
- 单击组中其他字段对应的单元格,选择值并设置范围,使其与您设置的第一个值或范围相对应。
- 要接受值,请单击您所添加的条件值组合所在行中的复选标记。
要删除此值组合,请单击取消按钮
。 - 单击您添加的条件值组合的行中的保存
。您必须保存值组合,否则它们将不会添加到字段组中。 您可以单独保存,也可以等到定义好所有值组合后,再单击保存所有更改。
如果您不想保存已添加的任何组合,请单击重置将其移除,或者单击您不想保存的特定组合旁边的重置按钮
。 - 根据需要重复步骤 2 至 7,以定义更多条件值组合。
管理条件值
您可以更改值、停用某个值组合以防止其在后续使用,或者删除值组合。
更改值
您可以更改任何条件值组合的值。
要更改值,请完成以下步骤:
- 打开字段组。
- 单击要更改值的单元格,然后选择一个新值或定义一个新范围。
如果字段组具有限制性,请勿更改其值,以免违反现有的值组合。
- 如果您决定不保存更改,请单击重置按钮
。 - 在您修改的条件值定义所在行中单击保存
,或者单击保存所有更改。 - 根据需要重复步骤 2 到 4。
停用条件值组合
要停用适用于现有数据但不得用于新值的“条件值组合”,请执行以下步骤:
- 打开字段组。
- 要停用单个条件值组合,请单击要停用的组合旁边的停用
,然后单击已停用组合所在行的保存
。 - 要停用多个条件值组合,请选中每个待停用组合旁的复选框,单击列表顶部的停用所选内容,然后单击列表底部的保存所有更改。
已停用的条件值组合不再显示在条件值列表中。
恢复停用的组合
要恢复停用的条件值组合,请完成以下步骤:
- 打开字段组。
- 单击已停用的组合
。视图更改以显示字段组所有已停用条件值组合的列表。
- 要恢复单个条件值组合,请在待恢复定义的所在行中单击恢复
,然后在同一行中单击保存
。 - 要恢复多个条件值组合,请选中每个待恢复组合旁的复选框,单击列表顶部的恢复所选内容,然后单击列表底部的保存所有更改。
- 单击完成或已停用组合
以返回条件值视图。
已停用的条件值组合现已重新显示在该字段组的条件值列表中,并处于启用状态。
删除条件值组合
要删除不再需要的条件值组合,请执行以下步骤:
警告:
条件值组合在保存时会立即删除,且无法恢复。
导出字段组及其条件值组合
要导出包含逗号分隔值 (.csv) 的 .zip 文件(即一个定义字段组的文件和一个包含条件值组合定义的文件),请执行以下步骤:
- 打开包含条件值组合的托管要素图层或表的项目页面的设置选项卡。
- 滚动至要素图层(托管)部分。
- 如果托管要素图层项目包含多个图层,请从条件值部分的图层下拉菜单中选择正确的图层。
- 单击导出条件值。
包含 .csv 文件的 .zip 文件会立即写入您的本地下载文件夹。
条件值组合的使用示例
在存储宗地分区信息的要素图层中,为宗地定义的区域决定了该宗地上允许建造的建筑物类型及数量。
创建了包含以下字段的字段组:
| 字段 | 属性域类型 |
|---|---|
zone_code | 包含分区代码的列表属性域 |
building_type | 包含建筑类型的列表属性域;允许的值取决于 zone_code 字段中设置的代码。 |
num_buildings | 范围属性域定义了允许的完整值范围 (0–12);具体适用的更严格的值范围子集,则取决于 zone_code 字段和 building_type 字段的值。 |
例如,您可以定义以下住宅分区代码、建筑类型以及允许的建筑物数量范围的条件值组合:
| Zone_code 值 | building_type 的可能值 | num_buildings 值允许的范围 |
|---|---|---|
R1 | 单户住宅 | 0–1 |
RD2 | 单户住宅 | 0–2 |
RD2 | 双重 | 0–1 |
RD6 | 单户住宅 | 0–6 |
RD6 | 双重 | 0–3 |
RD6 | 三重 | 0–2 |
定义这些组合之后,如果编辑人员将宗地指定为 RD2(该类别允许建造两处住宅),则宗地上可建 0、1 或 2 栋单户住宅,或者 0 或 1 栋复式别墅。
,然后单击