FAQ
ArcGIS Pro: テーブル結合を反復したい (ModelBuilder)
ナレッジ番号:6110 | 登録日:2026/04/07 | 更新日:2026/06/16
概要
ArcGIS Pro の ModelBuilder を使用して、1 つのフィーチャクラスに対して複数のテーブルを順に結合し、各結合結果を個別のフィーチャクラスとして出力する方法を紹介します。
※ 1 つのデータに複数テーブルを累積結合していく処理ではありません。本 FAQ では、以下の 2 通りの方法について説明します。
- [テーブルの結合] ツールを使用する方法
フィーチャクラスに対してテーブルを結合し、その結合状態をもとに後続の処理を行う方法です。
なお、ツールのパラメーター設定により、結合キーが一致したレコードのみを出力対象とすることが可能です。
この方法は、次のような場合に適しています。
- 結合条件に一致したレコードのみを抽出したい
- 結合元テーブル名を含めたフィールド名で管理したい
結合されたフィールドの名前は、「結合元テーブル名_フィールド名」の形式で表示されます。
※ フィールド エイリアスは元の設定が保持されます。
- [フィールドの結合] ツールを使用する方法
テーブルのフィールドをフィーチャクラスに直接追加する方法です。結合後のフィールド名には、結合元のテーブル名は付与されません。
フィールドマッピングにより以下が可能です。
- フィールド名の変更
- フィールド タイプの変更
- 必要なフィールドのみ選択して結合
フィールド名の重複を避けるため、結合されたフィールドの名前には、フィールド名_1 のように自動的に連番が付与されます。
※ フィールドマッピングを使用することで、連番付与を回避することも可能です。
[テーブルの結合] ツールを使用する場合
【モデル例】
【手順】
- [解析] タブの [ModelBuilder] をクリックします。
- 結合対象となるフィーチャクラスをレイヤーとして作成します。
本手順では、テーブル結合の状態を後続のツールに引き継いで処理できるよう、フィーチャクラスからテンポラリ レイヤーを作成します。
※ あらかじめマップにレイヤーとして追加されている場合は省略可能です。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャ レイヤーの作成」と入力します。
(2) [検索結果] に表示された [フィーチャ レイヤーの作成] ツールをドラッグ&ドロップでモデルに追加します。
(3) 追加したツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィーチャ] を選択します。
(4) [入力フィーチャ] を右クリック → [パラメーター] を選択します。
(5) [入力フィーチャ] をダブルクリックし、[入力フィーチャ] に対象のフィーチャクラスを指定します。
- ModelBuilder に反復処理(テーブル)を追加します。
(1) [ModelBuilder] タブの [反復] → [テーブルの反復] を選択します。
(2) [テーブルの反復] 反復子を右クリック → [変数の作成] → [パラメーターから] → [ワークスペース] を選択します。
(3) [ワークスペース] を右クリック → [パラメーター] を選択します。
(4) [ワークスペース] をダブルクリック → テーブル データが格納されているフォルダーまたはファイル ジオデータベース(必要に応じてフィーチャ データセット)を指定します。
(5) [テーブルの反復] 反復子をダブルクリックし、必要に応じてワイルド カードやテーブル タイプを指定します。
- [テーブルの結合] ツールを使用して、フィーチャ レイヤーとテーブルをテーブル結合します。
反復処理で取得したテーブルをフィーチャ レイヤーに結合します。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「テーブルの結合」と入力します。
(2) [検索結果] に表示された [テーブルの結合] ツールをドラッグ&ドロップでモデルに追加します。
(3) 手順 2 の出力レイヤーを [入力テーブル] として接続します。
(4) 手順 3 の出力テーブルを [結合テーブル] として接続します。
(5) [テーブルの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィールド] を選択します。
(6) [入力フィールド] を右クリック → [パラメーター] を選択します。
(7) [入力フィールド] をダブルクリックし、 結合キーとなるフィールドを指定します。
(8) [テーブルの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [結合フィールド] を選択します。
(9) [結合フィールド] をパラメーターに設定するには [結合フィールド] を右クリック → [パラメーター] を選択します。
(10) [結合フィールド] をダブルクリックし、入力フィールドと対応するテーブル側のフィールドを指定します。
(11) [テーブルの結合] ツールをダブルクリックし、必要に応じて [結合方法] を選択します。
※「すべての入力レコードを保持」のチェックを外すことで、結合条件に一致したレコードのみを出力対象とできます。 - 結合状態のままフィーチャクラスとして出力します。
テーブル結合後の内容を、新しいフィーチャクラスとして出力します。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャのコピー」と入力します。
(2) [検索結果] に表示された [フィーチャのコピー] ツールをドラッグ&ドロップでモデルに追加します。
(3) 手順 4 の出力データと [フィーチャのコピー] ツールを接続します。
(4) [フィーチャのコピー] ツールを右クリック → [変数の作成] → [環境から] → [現在のワークスペース] を選択します。
(5) [現在のワークスペース] を右クリック → [パラメーター] を選択します。
(6) [現在のワークスペース] をダブルクリックし、出力するフィーチャクラスの格納先を指定します。
(7) [フィーチャのコピー] ツールをダブルクリックし、[出力フィーチャクラス] を指定します。
本 FAQ のモデル例では、「%フィーチャの出力先%\FC_%名前%」の形式でインライン変数を使用し、「FC_テーブル名」で出力しています。
- テーブル結合を解除します。
次の反復処理に影響しないよう、結合状態を解除します。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「テーブルの結合を解除」と入力します。
(2) [検索結果] に表示された [テーブルの結合を解除] ツールをドラッグ&ドロップでモデルに追加します。
(3) 手順 4 の出力データと [テーブルの結合を解除] ツールを接続します。
(4) 手順 5 の処理完了後に実行されるよう、[フィーチャのコピー] ツールから [前提条件] を設定します。 - [ModelBuilder] タブの [検証] をクリックし、問題がなければ [保存] をクリックしてモデルを保存します。
- [ModelBuilder] タブの [実行] をクリックし、処理を実行します。
[フィールドの結合] ツールを使用する場合
【モデル例】
【手順】
- [解析] タブの [ModelBuilder] をクリックします。
- ModelBuilder に反復処理(テーブル)を追加します。
※ ワークスペースや反復条件の設定は、前述「[テーブルの結合] ツールを使用する場合」と同様です。 - 入力フィーチャクラスをあらかじめコピーします。
[フィールドの結合] ツールは新規フィーチャクラスを出力しないため、事前に作業用データを作成します。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャのコピー」と入力します。
(2) [検索結果] に表示された [フィーチャのコピー] ツールをドラッグ&ドロップでモデルに追加します。
(3) 追加した [フィーチャのコピー] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィーチャ] を選択します。
(4) [入力フィーチャ] を右クリック → [パラメーター] を選択します。
(5) [入力フィーチャ] をダブルクリックし、[入力フィーチャ] に対象のフィーチャクラスを指定します。
(6) [フィーチャのコピー] ツールを右クリック → [変数の作成] → [環境から] → [現在のワークスペース] を選択します。
(7) [現在のワークスペース] を右クリック → [パラメーター] を選択します。
(8) [現在のワークスペース] をダブルクリックし、出力するフィーチャクラスの格納先を指定します。
(9) [フィーチャのコピー] ツールをダブルクリックし、[出力フィーチャクラス] を指定します。
本 FAQ のモデル例では、「%フィーチャの出力先%\FC_%名前%」の形式でインライン変数を使用し、「FC_テーブル名」で出力しています。
なお、モデル上のエレメント名については、処理内容が分かりやすいように「コピー済みフィーチャ」に変更しています。
(10) 次の手順で設定する [フィールドの結合] ツールが、[テーブルの反復] ツールおよび [フィーチャのコピー] ツールの処理完了後に実行されるようにするため、[テーブルの反復] ツールから [フィーチャのコピー] ツールに対して [前提条件] を設定します。 - [フィールドの結合] ツールを使用して、フィーチャ レイヤーに対してテーブルのフィールドを結合します。
コピーしたフィーチャクラスに対して、反復処理で取得したテーブルを結合します。
(1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィールドの結合」と入力します。
(2) [検索結果] に表示された [フィールドの結合] ツールをドラッグ&ドロップでモデルに追加します。
(3) 手順 3 の出力フィーチャクラスと [フィールドの結合] ツールを接続し、[入力テーブル] として設定します。
(4) 手順 2 の出力テーブルと [フィールドの結合] ツール を接続し、[結合テーブル] として設定します。
(5) [フィールドの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィールド] を選択します。
(6) [入力フィールド] をパラメーターに設定するには [入力フィールド] を右クリック → [パラメーター] を選択します。
(7) [入力フィールド] をダブルクリックし、 結合キーとなるフィールドを指定します。
(8) [フィールドの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [結合フィールド] を選択します。
(9) [結合フィールド] をパラメーターに設定するには [結合フィールド] を右クリック → [パラメーター] を選択します。
(10) [結合フィールド] をダブルクリックし、入力フィールドと対応するテーブル側のフィールドを指定します。 - [ModelBuilder] タブの [検証] をクリックし、問題がなければ [保存] をクリックしてモデルを保存します。
- [ModelBuilder] タブの [実行] をクリックし、処理を実行します。
お問い合わせについて
ModelBuilder に関するお問い合わせにつきましては、「標準サポート サービスにおけるお問い合わせに関する留意事項」をご確認ください。- [テーブルの結合] ツールを使用する方法
関連する質問
メタデータ
種類
機能
製品
バージョン