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

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

概要

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

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

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

Image

手順

モデル作成の基礎については、 ModelBuilder に関する他のFAQにてご確認ください。

  1. サブモデルの作成を行います。
    サブモデルでは、指定したワークスペース内のフィーチャクラスをマージする処理を行います。ツールの設定方法については、 こちらのFAQでご確認いただけます。
  2. サブモデルにおける入力データと出力データをモデル パラメーターに設定します。今回は [フィーチャクラスの反復]ツールの「ワークスペース、またはフィーチャ データセット」と [マージ] ツールの [出力データセット] をモデル パラメーターに設定します。値の入力はメインモデルの方で行うため、入力の必要はありません。
    Image
     
  3. 新しくメインモデル作成用のモデルを追加します。
  4. [カタログ] ウィンドウからサブモデルをモデル キャンバス上にドラッグします。サブモデルが配置されます。
    Image
  5. モデル ウィンドウの [挿入] メニュー → [反復処理] → [ワークスペース] ツールを配置し、サブモデルと接続します。
    Image
  6. [ワークスペースの反復] ツールの [フォルダー] パラメーターや [マージ] ツールの [出力データセット] に対して値を設定します。今回は、[出力データセット] の名称にインライン変数を用いて、ワークスペースの反復で取得した [名前] 変数値を割り当てています。
    Image
  7. モデルを実行します。 下図のように、ワークスペース (ファイル ジオデータベース)  内のフィーチャクラスがマージされ、個々のフィーチャクラスとして作成されます。
    Image

参考情報

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

メタデータ

種類

製品

バージョン