可在空间对象之间、非空间对象之间或空间对象与非空间对象之间建立关系。 在创建关系类时,可以指定是否设置关系类的属性。 属性关系类可存储附加属性值以及与关系类本身相关的详细信息。
在 ArcGIS Pro 中,可以使用创建关系类或表转关系类地理处理工具创建属性关系类。
根据对各地理处理工具的审查结果,创建关系类和表转关系类地理处理工具在功能上大致相同。 两个工具均能够创建关系类,并允许用户设置关系类的类型、基数以及指定主键和外键字段。
但是,它们在创建属性关系类时所采用的参数有所区别。
创建关系类工具既可以创建属性关系类,也可以创建非属性关系类。 当利用该工具创建属性关系类时,会生成一个中间表。 但这个中间表仅包含必需字段,并不会自动填充数据,因为 ArcGIS 并不自动映射源对象与目标对象之间的关联。 如果使用该工具创建属性关系类,则意味着用户需要手动填充中间表。
在创建关系类工具中,有一个附加参数:
- 关系类属性化,选中后会创建一个只包含必需字段的中间表。
注:
关系类属性化是创建关系类工具的可选参数,仅在创建属性关系类时需要选中。
- 关系类属性化,选中后会创建一个只包含必需字段的中间表。
表转关系类工具专用于创建属性关系类。 此属性关系类的中间表会根据用户从现有关系表中选定的属性字段来填充数据。 这些属性字段不仅包括创建非属性关系类所需的关系属性,还包括额外的关系属性。 这些字段用于记录不属于源类或目标类属性的关系自身的信息。 例如,在宗地与所有者的关系类中,可以将每个所有者持有的宗地的所有权百分比作为关系属性进行存储。
表转关系类工具包含以下额外参数:
- 关系表 - 一个已存在的表,其中包含将要添加到关系类中的属性。
- 属性字段 - 关系表中的字段名称,这些字段包含的属性值将会被添加到属性关系类的中间表中。
注:
在使用表转关系类工具时,关系表和属性字段是必需参数。 这些属性和属性字段将被添加到新创建的属性关系类的中间表中。
在开始创建属性关系类之前,请查看准备创建关系类中的地理数据库关系类的考虑因素。
以下是利用创建关系类工具创建属性关系类的步骤:
提示:
- 文件、移动和企业级地理数据库都支持关系类。 要创建属性关系类,可以右键单击现有地理数据库或地理数据库中的要素数据集。 如果要在企业级地理数据库中创建关系类,连接到企业级地理数据库的用户身份必须具有在数据库中创建数据的权限。
想要深入了解属性关系类,以及它们如何应用于实际情境中,可以参阅 ArcGIS 博客文章探索多对多关系类。 该文章提供了更详细的工作流步骤,并包括了通过创建多对多关系类维护公园数据有效性所需的数据。
- 启动 ArcGIS Pro,然后打开现有 ArcGIS Pro 工程,或者在没有模板的情况下开始。
- 在目录窗格中,右键单击现有地理数据库,然后从快捷菜单中单击新建。
- 选择关系类 。
将显示具有默认设置的创建关系类地理处理工具对话框。
注:
或者,可以通过表转关系类工具,使用包含关系属性的现有中间表来创建关系类。
- 对于源表,可以从列表中选择数据集或使用浏览按钮进行选择。
- 对于目标表,可以从列表中选择数据集,或使用浏览按钮进行选择。
- 对于输出关系类,单击浏览按钮 并浏览到将存储关系类的地理数据库。 对于名称,提供关系类的名称并单击保存。
在本例中,源表和目标表位于名为 Wyoming Natural Assets.geodatabase 的移动地理数据库中。 因此,关系类也必须位于该移动地理数据库中。 由于移动地理数据库 (.geodatabase) 是建立在 SQLite 之上的,因此关系类名称会自动添加前缀“main”,以表明它属于主模式,而主模式是 SQLite 数据库的默认模式。
- 对于关系类型,选择简单。
要进一步了解简单关系类和复合关系类之间的区别,请参阅地理数据库关系类类型。
- 输入此关系类的前向路径标注和后向路径标注参数的标注。
前向路径标注参数用于描述在从源类导航至目标类时的关系。 而后向路径标注参数则用于描述从目标类返回源类的逆向导航。 有关这些标注的更多信息,请参阅创建关系类工具参数。
- 由于您要创建的是简单关系类,因此在消息方向参数中应选择无。
消息方向参数用于描述相关对象间消息传递的方向。 该参数适用于希望实施自定义级联更新或删除关系类行为的情况。 请参阅创建关系类工具参数,了解为简单关系类或复合关系类设置消息方向参数的效果。
- 对于基数,选择适合关系类中参与的数据的基数选项。
- 根据您所使用的具体工具,执行以下步骤:
- 指定属性关系类将使用的键字段,这些字段用于将中间表中源外键和目标外键字段值映射到相关源表或要素类的源主键和目标主键字段值。
- 单击运行创建属性关系类。