演習 4:オブジェクト間のリレーションシップの作成
「演習 2:ジオデータベースへのデータのインポート」では、所有者オブジェクトを格納する INFO テーブルを Montgomery ジオデータベースにインポートしました。このジオデータベースには、土地区画オブジェクトを含む parcels フィーチャクラスがすでに存在しています。ここでは、ArcMap でデータを使用する場合に各土地区画の所有者を容易に把握できるように、土地区画と所有者のリレーションシップ クラスを作成します。
-
Montgomery ジオデータベース内の Landbase フィーチャ データセットを右クリックし、[新規作成] をポイントして、[リレーションシップ クラス] をクリックします。
[新規リレーションシップ クラス] ウィザードが開きます。
- [リレーションシップ クラス名] テキスト ボックスに、「ParcelOwners」と入力します。
- [関連元テーブル/フィーチャクラス] リストで、[Owners] をクリックします。
- [関連先テーブル/フィーチャクラス] リストで、Landbase フィーチャ データセットをダブルクリックします。
-
[Parcels] をクリックします。
ここでは Parcels フィーチャクラスが関連先フィーチャクラスとして指定されます。
- [次へ] をクリックします。
- [次へ] をクリックします。
- 正方向のパス ラベルとして「owns」を入力します。
-
逆方向のパス ラベルとして「is owned by」を入力します。
- [次へ] をクリックします。
- [1 - M(1 対多)] をクリックし、1 人の所有者が多数の土地区画を所有できるように指定します。
- [次へ] をクリックします。
- [次へ] をクリックします。
- [関連元テーブル/フィーチャクラスの主キー フィールドを選択:] および [PROPERTY_ID] で、最初のドロップダウン矢印をクリックします。
-
ダイアログ ボックスで 2 番目のドロップダウン矢印をクリックし、関連先フィーチャクラス内の埋め込み外部キーとして [PROPERTY_I] をクリックします。
-
[次へ] をクリックします。
サマリ ページが表示されます。
- サマリ ページを見て、情報が正しいことを確認します。
- [完了] をクリックします。
このウィザードの最初のパネルは、新規リレーションシップ クラスの名前や、関連元および関連先のフィーチャクラスまたはテーブルの指定に使用されます。
次のパネルでは、作成するリレーションシップ クラスのタイプを指定します。データベースに格納される所有者と土地区画は互いに独立して存在できるため、ここではシンプル リレーションシップ クラスを作成します。したがって、ここではデフォルト タイプの [シンプル リレーションシップ] をそのまま使用します。
ここで、パス ラベルとメッセージの情報伝達方向を指定する必要があります。正方向のパス ラベルとは、関連元クラスから関連先クラス(この場合は Owners から Parcels)の方向のリレーションシップです。逆方向のパス ラベルは、逆方向(Parcels から Owners)のリレーションシップです。
メッセージ通知方向は、メッセージが関連オブジェクト間でどのように渡されるかを示します。このリレーションシップ クラスではメッセージ通知は必要ないため、デフォルトの [なし] をそのまま使用します。
今度は、リレーションシップの基数を指定しましょう。基数とは、関連元フィーチャクラス/テーブルのオブジェクトに関連付けることができる関連先フィーチャクラス/テーブルのオブジェクトの数です。
ここで、新しいリレーションシップ クラスに属性を設定するかどうかを指定する必要があります。この例では、ParcelOwners リレーションシップ クラスに属性は不要なため、デフォルト値の [いいえ、このリレーションシップ クラスに属性を追加しません。] を選択します。
次のパネルでは、関連元テーブル(Owners)の主キーと、関連先フィーチャクラス(Parcels)の埋め込み外部キーを指定します。Owners と Parcels は、それぞれのフィールドの値が同じ場合に互いに関連付けられます。
この演習では、2 つ目の振舞いとしてリレーションシップをジオデータベースに追加しました。
次の演習では、ジオメトリック ネットワークを作成し、接続性ルールを定義して、引き続きジオデータベースに振舞いを追加します。「演習 5:ジオメトリック ネットワークの構築」をご参照ください。