arcmap工具文档-数据管理工具之2——关系类(relationship class)


2.关系类(Relationship Class)

关系类可以定义地理数据库中对象之间的关系,关系包括一对一、一对多或多对多的关系。一旦建立关系,某要素、某行记录或某张表的增删查改可能会对所联系的其他要素、记录、表造成影响。关系可用于优化地理数据库的逻辑结构,建立复杂的空间实体的空间要素与非空间要素之间的联系,非空间要素与非空间要素之间的联系。

2.1 创建关系类(CreateRelationshipClass)

image-20211004215954180

2.1.1 描述

该工具可创建用于存储源与目标之间的联系的关系类。源与目标可以是空间对象(如要素类中的要素)和空间对象、空间对象和非空间对象(表中的某行属性记录)或非空间对象和非空间对象。需要注意,一旦创建关系类,就无法对其进行修改,只能添加、删除或优化关系类的逻辑规则。删除、重命名等操作需使用ArcCatalog软件。

2.1.2 参数说明
param optional des type
源表/origin_table false 与目标表相关联的对象 Table View
目标表/destination_table false 与源表相关联的对象 Table View
输出关系类/out_relationship_class false 创建的关系类 RelationshipClass
关系类型/relationship_type true 要在对象间创建的关系类型: SIMPLE(default):独立的对象之间的关系 COMPOSITE:互相依赖的对象之间的关系,在此关系中,一个对象的生存周期与另一对象之间的生存周期相关联 String
前向路径标注/forward_label false 用于从源对象确定目标对象的唯一标识 String
后向路径标注/backward_label false 用于从目标对象确定源对象的唯一标识 String
消息方向/message_direction true

消息在源对象和目标对象之间的传递方向。如当大楼被拆除时,归属大楼的商铺一并删除。

--->FORWARD:消息由源传向目标。

--->BACKWARD:消息由目标传向源。

--->BOTH:消息先由源到目标,再由目标到源。

--->NONE(default):不传递任何消息。

String
基数/cardinality true

确定源的记录和目标的记录之间存在多少种关系。

--->ONE_TO_ONE(default):源中的每行可与目标中的零或一行相关联。

--->ONE_TO_MANY:源中的每行可与目标中的一行或多行相关联。

--->MANY_TO_MANY:源中多行可与目标中的一行或多行相关联。

String
关系类已属性化/attributed true 指定关系是否具有属性。 --->NONE(default):指定关系类将不具有属性。 --->ATTRIBUTED:指定关系类将具有属性。 Boolean
源主键/origin_primary_key false 与关系类表中的源外键字段相关联的源表中的字段。 String
源外键/origin_foreign_key false 与源表中的源主键字段相关联的关系类表中的字段。 String
目标主键/destination_primary_key true 与关系类表中的目标外键相关联的目标表中的字段。 String
目标外键/destination_foreign_key true 与目标表中的目标主键相关联的关系类表中的字段。 String
2.1.3 arcpy接口

arcpy.CreateRelationshipClass_management()

2.2 迁移关系类(MigrateRelationshipClass) image-20211005100814002

2.2.1 描述

将基于ObjectID的关系类迁移到基于GlobalID的关系类。输入关系类中输入的源对象和目标对象都必须具有一个GlobalID字段,同时,现有输入关系类必须基于ObjectID。

2.2.2 参数说明
param optional des type
输入关系类/in_relationship_calss false 基于ObjectID的关系类 Relationship Class
2.2.3 arcpy接口

arcpy.MigrateRelationshipClass_management()

2.3 表转关系类(Table to relationship class)

image-20211005152421128

2.3.1 描述

从源表、目标表和关系表创建属性关系类,在数据库中创建一个包含关系表的所选属性字段的表,这些字段用于存储关系自身的属性,不存储源或目标对象的属性。

2.3.2 参数说明

本工具除“关系表/relationship_table”和“属性字段/attribute fields”外其余参数大多与2.1.2中的同名参数相对应,在此仅对六个参数参数进行说明,其余参数不做赘述:

param optional des type
关系表/relationship_table false 包含将被添加到关系类的属性的表 Table View
属性字段/attribute_fields false 包含将被添加到关系类的属性值的字段 Field/Array
源主键/origin_primary_key false 将用于创建关系的源表中的字段 String
源外键/origin_foreign_key false 关系表中引用源表中的主键字段的外键字段 String
目标主键/destination_primary_key false 将用于创建关系的目标表中的字段 String
目标外键/destination_foreign_key false 关系表中引用目标表中的主键的字段 String
2.3.3 arcpy接口

arcpy.TableToRelationshipClass_management()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM