ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

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

  • サマリ
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

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

使用法

  • このツールは、リレーションシップ テーブルの選択された属性フィールドを含むテーブルを、データベースに作成します。これらのフィールドは、関連元または関連先クラスの属性として設定されていない、リレーションシップ自体の属性を格納するために使用されます。たとえば、区画 データベースにおいて、区画と所有者の間に、所有者が区画を「所有し」、区画が所有者に「所有される」というリレーションシップを作成するとします。このリレーションシップの属性として、所有権の割合を指定する場合があります。

  • シンプル リレーションシップとは、互いに独立して存在する、データベースの複数のオブジェクト間のリレーションシップです。たとえば、鉄道ネットワークに信号機が 1 つ以上関連付けられた踏切があるとします。ただし、踏切の存在は信号機に依存せず、踏切のない鉄道ネットワークにも信号機は存在します。シンプル リレーションシップの基数は、1 対 1、1 対多、または多対多のいずれかになります。

  • コンポジット リレーションシップは、あるオブジェクトの存続によって、関連するオブジェクトの存続が制御されるリレーションシップを表します。たとえば、電柱は電圧器をサポートし、変圧器は電柱に設置されます。電柱が削除されると、削除メッセージが、関連する電圧器へ伝達され、それらの電圧器が電圧器のフィーチャクラスから削除されます。コンポジット リレーションシップは、常に 1 対多になります。

  • 正方向および逆方向のパス ラベルは、あるオブジェクトから別のオブジェクトへのリレーションシップを定義します。正方向ラベルは、関連元クラスから関連先クラスへのリレーションシップを記述します。電柱と変圧器の例の場合、正方向のパス ラベルは「電柱が変圧器をサポートする」になります。逆方向ラベルは、関連先クラスから関連元クラスへのリレーションシップを記述します。電柱と変圧器の例の場合、逆方向のパス ラベルは「変圧器は電柱に設置される」になります。

  • リレーションシップ クラスは、ArcCatalog で作成することもできます。ジオデータベース ショートカット メニューを [新規作成] > [リレーションシップ クラス] の順に選択し、メニュー アイテムを選択します。

  • [属性フィールド] パラメーターの [フィールドの追加] ボタンは、ModelBuilder だけで使用されます。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[属性フィールド] パラメーターにフィールド名が表示されない場合があります。[フィールドの追加] ボタンを使用すると、[テーブルからリレーションシップ クラスを作成 (Table To Relationship Class)] ダイアログを完了してモデルの作成を続行できるように、必要なフィールドが追加されます。

構文

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

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

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: ○

関連トピック

  • [リレーションシップ クラス] ツールセットの概要
  • RelationshipClass properties
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル