FAQ
ArcGIS Pro: 別のモデルの処理を呼び出したい (サブモデルの利用)

ナレッジ番号:3209 | 登録日:2023/05/29 | 更新日:2023/06/21

概要

ModelBuilder でモデルを作成する際、行いたい処理がひとつのモデルに収まらないケースがあります。 例えば以下の場合は、処理を複数のサブ モデルに分けて、メイン モデルで全体の処理を行う手法が有効です。

  • 反復処理のツール(イテレーター)を複数個使用したいとき。
    反復処理のツールはモデルの中で1つのみ使用可能であるため、複数のモデルを統合する方法により可能となります。
  • 処理が複雑なモデルの処理を分かりやすく表現したいとき。
    一見してモデルの処理内容がわかりにくいときは、複数のモデルに分けることで管理しやすくなります。

ここでは1つのワークスペースに存在するフィーチャクラスを1つのフィーチャクラスにマージする処理を、複数のワークスペースに対して行うためのモデルを作成します。

モデル作成の基礎

ツールボックスの追加方法

  1. ArcGIS Pro → [挿入] タブ → [ツールボックス] プルダウンを選択 → [新しいツールボックス] を選択します。
  2. [新しいツールボックス] 画面でフォルダーを選択 → [名前] にツールボックス名を入力して [保存] します。

Image

ModelBuilderの表示方法

ArcGIS Pro → [解析] タブ → [ModelBuilder] ボタンをクリックしますと、空のジオプロセシング モデルが作成され、[ModelBuilder] タブが追加されます。

Image

① ジオプロセシング ツールの追加方法

本手順では、[マージ] ツールを利用します。
[ModelBuider] タブ → [ツール] ボタンをクリックしますと、[ジオプロセシング] ウィンドウが表示されますので、必要なツールを選択してジオプロセシング モデルにドラッグ アンド ドロップします。

② 反復ツールの追加方法

本手順では、[ワークスペースの反復] ツールなどを利用します。
[ModelBuider] タブ → [反復] ボタンをクリックしますと、メニューが表示されますので、必要な反復ツールを選択します。

③ ユーティリティの追加方法

本手順では、[値の収集] ツールを利用します。
[ModelBuider] タブ → [ユーティリティ] ボタンをクリックしますと、メニューが表示されますので、必要なユーティリティ ツールを選択します。

④ モデルの保存方法

  1. [ModelBuider] タブ → [名前を付けて保存] ボタンをクリックします。
  2. [モデルの保存] 画面にてツールボックスを選択 → モデルの名前を入力して [保存] します。

※[ModelBuider] タブ → [保存] でもモデルを保存することができます。この場合はモデルに任意の名前を付けることができませんので、[カタログ] ウィンドウよりモデルのプロパティを開いて名前を変更します。

補足 モデルの新規作成方法

[ModelBuider] タブ → [新規作成] ボタンをクリックしますと、モデルが新規作成されます。

手順

サブモデルの作成

  1. 「ModelBuilderの表示方法」 を参考に、サブモデルの作成を行います。
    本手順においてのサブモデルでは、指定したワークスペース内のフィーチャクラスをマージする処理を行います。

    「②反復ツールの追加方法」 を参考に、[フィーチャクラスの反復] ツールを配置します。
    [フィーチャクラスの反復] を右クリック → [変数の作成] → [パラメーターから] → [ワークスペース、またはフィーチャ データセット] を選択します。

    「③ユーティリティーの追加方法」 を参考に、[値の収集] ツールを配置します。
    [FeatureClass] を選択して、[値の収集] ツールと接続します([入力の値] を選択します)。

    「①ジオプロセシング ツールの追加方法」 を参考に、[マージ] ツールを配置します。
    [出力値] ツールを選択して、[マージ] ツールと接続します([入力データセット] を選択します)。 

    サブモデルにおける入力データと出力データをモデル パラメーターに設定します。今回は [フィーチャクラスの反復]ツールの「ワークスペース、またはフィーチャ データセット」と [マージ] ツールの [出力データセット] をモデル パラメーターに設定します。
    「ワークスペース、またはフィーチャ データセット」 を右クリックし、[パラメータ] を選択します。同様に [出力データセット] にも同じ操作を行います。

    値の入力はメインモデルの方で行うため、入力の必要はありません。
  2. [ModelBuilder] タブにて [名前を付けて保存] しますと、[モデルの保存] 画面が表示されますので、モデル名(例:Submodel)を付けて保存します。

    Image

メインモデル作成

  1. 「ModelBuilderの表示方法」 を参考に、新しくメインモデル作成用のモデルを追加します。
    [ModelBuilder] タブ → [新規作成] ボタンをクリックして、空のジオプロセシング モデルを作成します。
  2. [カタログ] ウィンドウからサブモデルをジオプロセシング モデルにドラッグし、サブモデルを配置します。

    Image
  3. 「②反復ツールの追加方法」 を参考に、[ワークスペースの反復] ツールを配置します。
    [WorkSpace] を選択してサブモデルと接続します([ワークスペース、またはフィーチャ データセット] を選択します)。

    Image
  4. [ワークスペースの反復] ツールの [フォルダー] パラメーターや [マージ] ツールの [出力データセット] に対して値を設定します。今回は、[出力データセット] の名称にインライン変数を用いて、ワークスペースの反復で取得した [名前] 変数値を割り当てます。
    [FeatureClass_Merge] をダブルクリックして、%名前% と入力しますとワークスペースの名前が出力フィーチャクラスに反映されます。
    (例)merge_%名前% と入力しますと merge_<ワークスペースの名前>が出力フィーチャクラスに反映されます。

    Image
  5. [保存] をクリックして、[整合性のチェック] で問題がない場合は、モデルを [実行] します。
    下図のように、ワークスペース (ファイル ジオデータベース) 内のフィーチャクラスがマージされ、個々のフィーチャクラスとして作成されます。

    Image

注意事項

※ ModelBuilder に関するお問い合わせにつきましては、関連情報の「サポートサービスのお問い合わせに関する留意事項」をご確認ください。

メタデータ

種類

製品

バージョン