在创建关系类时,可使用一对一、一对多或多对多的基数对其进行创建。
关系通常需要使用更严格的术语来定义。 例如,在宗地和建筑物的关系中,您可能需要要求每个建筑物都与一个宗地相关联,或者一个宗地可以包含最大数量的建筑物。 要防止用户忘记将一个建筑物与一个宗地相关联,还要防止用户将过多的建筑物与一个宗地相关联。
如果具有子类型,则可以限制与目标中特定类型对象相关的源中对象的数量和类型。 例如,钢制电线杆支持 A 类变压器,而木杆可以支持 B 类变压器。 此外,您可能还需要为每个有效子类型对指定允许的基数范围。 例如,钢制电线杆支持 0 至 3 个 A 类变压器,而木杆可以支持 0 至 2 个 B 类变压器。
查看关系类规则
要查看关系类的关系规则,请完成以下步骤:
- 右键单击目录窗格中的关系类以打开关系类属性对话框。
- 单击关系类属性对话框上的规则选项卡。
将显示关系类可能适用的所有规则的列表。
已启用列将指示当前处于活动状态的规则。
通过选择排序依据下拉菜单中的源然后目标子类型或目标然后源子类型,可对关系类规则进行排序。
向关系类添加规则
创建关系类之后,可以通过添加规则优化基数。 借助关系规则,可以限制源要素类或表中能够与目标要素类或表中的某种对象相关联的对象类型。
要将规则添加到关系类,请完成以下步骤:
- 要将规则添加到关系类,可以直接从关系类属性对话框添加规则,也可以使用将规则添加到关系类地理处理工具。
- 如果选择直接从关系类属性对话框中添加规则,请在目录窗格中右键单击关系类,然后单击属性。
- 在规则选项卡中,对于要添加到关系类的规则行,选中其对应的已启用复选框。
- 如果源表包含子类型,请选择要关联关系类规则的子类型。 如果源类没有子类型,则关系规则将应用于所有要素。
- 如果选择使用将规则添加到关系类地理处理工具,请单击链接以打开“将规则添加到关系类”地理处理工具。
- 单击输入关系类旁边的浏览按钮 ,浏览至关系类所在的地理数据库。 此地理数据库可以是文件、移动或企业级地理数据库。
提示:
如果关系类存储在企业级地理数据库中,则此工具只能由数据所有者成功运行。
- (可选)对于源子类型,如果源表具有子类型,请从下拉菜单中选择要与关系类规则关联的子类型。 如果源类没有子类型,则关系规则将应用于所有要素。
- 单击输入关系类旁边的浏览按钮 ,浏览至关系类所在的地理数据库。 此地理数据库可以是文件、移动或企业级地理数据库。
- 如果选择直接从关系类属性对话框中添加规则,请在目录窗格中右键单击关系类,然后单击属性。
- 通过在源和目标的相应单元格中输入整数,可以在规则上为其设置最小和最大基数。
- 针对要添加的每个规则重复步骤 1 和 2。
- 如果使用将规则添加到关系类地理处理工具,请单击运行,也可以在关系类属性对话框上单击确定以应用更改。
将关系规则添加至关系类后,该规则将成为唯一可以存在的有效关系。 要使其他关系组合和基数有效,必须添加其他关系规则。
例如,危险物质填埋场可能与一到两口深井相关联,或者与两到七口浅井相关联。 但是,如果卫生垃圾填埋场与一口深井相关联,但却未在这两种子类型之间创建规则,则“验证要素”命令会将该关系视为无效。
删除关系类规则
要从关系类中移除规则,请完成以下步骤:
- 要从关系类中移除规则,可以直接从关系类属性对话框移除规则,也可以使用将规则添加到关系类地理处理工具。
- 如果选择直接从关系类属性对话框中移除规则,请在目录窗格中右键单击关系类,然后单击属性。
- 在规则选项卡中,对于要从关系类中移除的规则行,取消选中其对应的已启用复选框。
- 如果源表包含子类型,请选择要从中移除关系类的子类型。
- 单击确定以完成更改。
- 如果选择使用从关系类中移除规则地理处理工具,请单击链接以打开从关系类中移除规则地理处理工具。
- 单击输入关系类旁边的浏览按钮 ,浏览至包含待移除规则的关系类。 包含关系类的地理数据库可以是文件、移动或企业级地理数据库。
提示:
如果关系类存储在企业级地理数据库中,则此工具只能由数据所有者成功运行。
- (可选)对于源子类型,如果源表具有子类型,请从下拉菜单中选择要从中移除关系类规则的子类型。 如果源类没有子类型,则关系规则将应用于所有要素。
- (可选)对于目标子类型,如果目标类具有子类型,请从下拉菜单中选择要从中移除关系类规则的子类型。
- 全部移除适用于以下情景:
- 选中 - 将从输入关系类中移除所有关系规则。
- 未选中 - 仅移除指定的源子类型和目标子类型中的规则。 这是默认设置。
- 单击运行以完成更改。
- 单击输入关系类旁边的浏览按钮 ,浏览至包含待移除规则的关系类。 包含关系类的地理数据库可以是文件、移动或企业级地理数据库。
- 如果选择直接从关系类属性对话框中移除规则,请在目录窗格中右键单击关系类,然后单击属性。