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