テーブルからリレーションシップ クラスを作成(Table To Relationship Class) (データの管理)

ライセンス レベル:BasicStandardAdvanced

サマリ

関連元テーブル、関連先テーブル、およびリレーションシップ テーブルから属性付きのリレーションシップ クラスを作成します。

使用法

構文

TableToRelationshipClass_management (origin_table, destination_table, out_relationship_class, relationship_type, forward_label, backward_label, message_direction, cardinality, relationship_table, attribute_fields, origin_primary_key, origin_foreign_key, destination_primary_key, destination_foreign_key)
パラメータ説明データ タイプ
origin_table

関連先テーブルに関連付けられる、テーブルまたはフィーチャクラス。

Table View
destination_table

関連元テーブルに関連付けられる、テーブルまたはフィーチャクラス。

Table View
out_relationship_class

作成するリレーションシップ クラス。

Relationship Class
relationship_type

関連元テーブルおよび関連先テーブル間に作成する関連のタイプ。

  • SIMPLE各オブジェクトが独立して存在する関係(親対親のリレーションシップ)。これがデフォルトです。
  • COMPOSITEあるオブジェクトの存続によって、関連するオブジェクトの存続が制御される関係(親対子のリレーションシップ)。
String
forward_label

関連元テーブル/フィーチャクラスから関連先テーブル/フィーチャクラスへの方向のリレーションシップを定義するラベル。

String
backward_label

関連先テーブル/フィーチャクラスから関連元テーブル/フィーチャクラスへの方向のリレーションシップを定義するラベル。

String
message_direction

通知方向を持つメッセージは、リレーションシップのオブジェクト間で反映されます。たとえば、電柱と変圧器の関係の場合、電柱が削除されると、関連する変圧器オブジェクトに対し、電柱が削除されたことを通知するメッセージが送信されます。

  • NONEメッセージは反映されません。これがデフォルトです。
  • FORWARDメッセージは関連元から関連先の方向に反映されます。
  • BACKWARDメッセージは関連先から関連元の方向に反映されます。
  • BOTHメッセージは関連元から関連先、および関連先から関連元の方向に反映されます。
String
cardinality

関連元と関連先のリレーションシップの基数。

  • ONE_TO_ONE関連元のテーブル/フィーチャクラスの各オブジェクトを、関連先のテーブル/フィーチャクラスの 0 または 1 個のオブジェクトに関連付けできます。これがデフォルトです。
  • ONE_TO_MANY関連元のテーブル/フィーチャクラスの各オブジェクトを、関連先のテーブル/フィーチャクラスの複数のオブジェクトに関連付けできます。
  • MANY_TO_MANY関連元のテーブル/フィーチャクラスの複数のオブジェクトを、関連先のテーブル/フィーチャクラスの複数のオブジェクトに関連付けできます。
String
relationship_table

リレーションシップ クラスに追加される属性を含むテーブル。

Table View
attribute_fields
[attribute_fields,...]

リレーションシップ クラスに追加される属性値を含むフィールド。

Field
origin_primary_key

リレーションシップの作成に使用される、関連元テーブルのフィールド。一般的に、これはオブジェクト ID フィールドです。

String
origin_foreign_key

関連元のテーブル/フィーチャクラスの主キー フィールドを参照する、リレーションシップ テーブルの外部キー フィールドの名前。

String
destination_primary_key

リレーションシップの作成に使用される、関連先テーブルのフィールド。一般的に、これはオブジェクト識別フィールドです。

String
destination_foreign_key

関連先テーブルの主キー フィールドを参照する、リレーションシップ テーブルのフィールド。

String

コードのサンプル

TableToRelationshipClass(テーブルからリレーションシップ クラスを作成)の例(Python ウィンドウ)

次の Python ウィンドウ スクリプトは TableToRelationshipClass(テーブルからリレーションシップ クラスを作成)ツールを使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.TableToRelationshipClass_management("owners", "Parcels", "ownersParcels_RelClass", "SIMPLE", "Owns", "Is Owned By", "BACKWARD", "MANY_TO_MANY", "owners", ["OWNER_PERCENT", "DEED_DATE"], "OBJECTID", "owner_id", "OBJECTID", "parcel_id")
TableToRelationshipClass(テーブルからリレーションシップ クラスを作成)の例(スタンドアロン スクリプト)

区画フィーチャクラスと所有者情報を含むテーブルの間に、属性付きのリレーションシップ クラスを作成します。

# Name: TableToRelationshipClass.py
# Description: Create an attributed relationship class between parcels
#                    feature class and table with owner information
# Author: ESRI

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Copy owners.dat to file gdb table, since both tables to be related
# must be in the same database
ownerDat = "owners.dat"
ownerTbl = "Montgomery.gdb/owners"
arcpy.CopyRows_management(ownerDat, ownerTbl)

# Create attributed relationship class between 'parcel' parcel layer
# and 'owner' table with additional parcel owner information
parcel = "Montgomery.gdb/Parcels"
relClass = "Montgomery.gdb/parcelowners_RelClass"
forLabel = "Owns"
backLabel = "Is Owned By"
attributeFields = ["OWNER_PERCENT", "DEED_DATE"]
originPK = "OBJECTID"
originFK = "owner_ID"
destinationPK = "OBJECTID"
destinationFK = "parcel_ID"
arcpy.TableToRelationshipClass_management(ownerTbl, parcel, relClass, "SIMPLE", forLabel, 
						backLabel, "BACKWARD", "MANY_TO_MANY", 
						ownerTbl, attributeFields, originPK, originFK, 
						destinationPK, destinationFK)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ×
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
9/14/2013