Skip to main content

関連レコードの自動選択

空間的な関係やテーブル間の関係を調べると、GIS データから知見を得ることができます。 これを効果的に行うには、関連するテーブル間でフィーチャ選択を同期します。 選択プロパティをカスタマイズすることで、関連するレコードを自動的に選択できます。 たとえば、課税パーセル フィーチャを選択した場合、その不動産の以前の所有者と過去の販売記録を確認できます。

レイヤーで関連するレコードを自動的に選択できるようにするには、次の手順を実行します。

  1. コンテンツ ウィンドウでレイヤーを右クリックし、プロパティ を選択して レイヤー プロパティ ダイアログ ボックスを開きます。

  2. レイヤー プロパティ ダイアログ ボックスで 選択 タブをクリックし、関連データの自動選択 をオンにします。

    今後、このレイヤーに対して選択を行うと、関連テーブル内の関連レコードも選択されるようになります。

  3. ソース レイヤーで新しい選択を作成します。 フィーチャは次の方法で選択できます。

    • マップ内に選択グラフィックを対話的に描画する。

    • 属性テーブル内のフィーチャを対話的に選択する。

    • 属性検索 または 空間検索 ツールを使用する。

  4. 必要に応じて、ソース レイヤーの選択セットを更新します。 関連テーブルで選択されたレコードが自動的に更新されます。

  5. 関連データの自動選択をオフにするには、レイヤー プロパティ ダイアログ ボックスで 関連データの自動選択 をオフにするか、テーブル ビューの メニュー ボタン を使用します。

関連データの自動選択を操作する際のヒント

  • 選択は、リレートを通じて、関連元から関連先、つまり起点から終点の方向にのみ伝播します。

  • 関連データの自動選択を有効にする前に、そのレイヤーに関連する他のコンテンツを理解しておいてください。 レイヤーに既存のリレーションシップがあるかどうかを確認するには、レイヤー プロパティ ダイアログ ボックスの リレート タブをクリックします。

  • 多数のレイヤーに対して関連レコードの自動選択を有効にすることはできますが、自動選択が使用されるのは単一のレイヤーから選択した場合だけであるため、1 つのレイヤーから選択することが重要となります。 複数のレイヤーで関連データの自動選択が有効になっている状態で複数のレイヤーを選択しても、選択内容は自動的には伝播されません。 フィーチャ レイヤーの データ タブまたは テーブル タブの リレート データ ボタン をクリックして、表示する関連データを手動で選択する必要があります。 これにより、明確でわかりやすい結果を得ることができます。

  • データが含んでいるリレートの中には、ループして最初のレイヤーに戻ってくるものもあります。 このような状況が発生すると、選択セットはそれ以上渡されなくなります。 このような場合は、1 つ以上の中間テーブルまたはフィーチャ レイヤーに対して、選択の反映をオフにすることをおすすめします。

  • 選択を解除すると、関連する選択も解除されます。 ただし、選択セットからフィーチャまたはレコードの選択を解除して部分的な解除を実行した場合、残りの選択は新しい選択であるかのように反映されます。

関連データの自動選択を使用した例

USA_Cities と USA_States という 2 つのレイヤーがあるマップがあるとします。どちらのレイヤーにも、 StateName という入力済みで標準化されたフィールドがあります。 選択イベントの自動反映では、2 つのレイヤー間のリレーションシップの定義方法に基づいて異なる結果が生成されます。

シナリオ A

StateName フィールドに基づいて、USA_Cities (関連元) から USA_States (関連先) への単一のリレートが定義されます。 各レイヤーの レイヤー プロパティ ダイアログ ボックスで 関連データの自動選択 オプションが有効されます。 選択セットを解除し、Houston 市と Dallas 市を選択します。 USA_Cities で 2 つのフィーチャ (Houston と Dallas) が選択され、USA_States では 1 つのフィーチャ (Texas) が自動的に選択されます。 これは、都市と州には、多対 1 のリレーションシップを設定できるためです。

選択セットを解除し、代わりにテキサス州を選択すると、USA_Cities ではフィーチャが選択されず、USA_States では 1 つのフィーチャ (Texas) が選択されます。 これは、リレートが作成された関連元またはソース レイヤーから選択が行われなかったためです。 リレートは関連先から関連元への方向には進みません。

シナリオ B

このケースでは、シナリオ A とは反対方向のリレートが 1 つ定義されており、StateName フィールドに基づいて USA_States が USA_Cities へのリレートが作成されます。 関連データの自動選択 が両方のレイヤーで有効になっています。 フィーチャが選択されていない状態で、Houston 市と Dallas 市を選択します。 USA_Cities では 2 つのフィーチャ (Houston と Dallas) が選択され、USA_States ではフィーチャが選択されていません。 これは、リレートが関連先から関連元への方向には進まないためです。

選択セットを解除して、Texas 州で新しい選択を実行すると、USA_States で 1 つのフィーチャ (Texas) が選択され、USA_Cities レイヤーで多くのフィーチャ (Houston、Austin、Dallas、San Antonio など) が自動的に選択されます。 これは、州と市には、1 対多のリレーションシップがあるためです。