FAQ
ModelBuilder: 別のモデルの処理を呼び出したい (サブモデルの利用)
ナレッジ番号:3165 | 登録日:2023/05/29 | 更新日:2024/11/21
概要
ModelBuilder でモデルを作成する際、行いたい処理がひとつのモデルに収まらないケースがあります。
例えば以下の場合は、処理を複数のサブ モデルに分けて、メイン モデルで全体の処理を行う手法が有効です。
- イテレーター (反復処理のツール)を複数個使用したいとき。
イテレーターはモデルの中で1つのみ使用可能であるため、複数のモデルを統合する方法により可能となります。 - 処理が複雑なモデルの処理を分かりやすく表現したいとき。
一見してモデルの処理内容がわかりにくいときは、複数のモデルに分けることで管理しやすくなります。 - モデルの一部分を部品化 (モジュール化) し 、他のモデルでも使用したいとき。
ここでは1つのワークスペースに存在するフィーチャクラスを1つのフィーチャクラスにマージする処理を、複数のワークスペースに対して行うためのモデルを作成します。
手順
モデル作成の基礎については、 ModelBuilder に関する他のFAQ にてご確認ください。
- サブモデルの作成を行います。
サブモデルでは、指定したワークスペース内のフィーチャクラスをマージする処理を行います。ツールの設定方法については、 こちらのFAQ でご確認いただけます。 - サブモデルにおける入力データと出力データをモデル パラメーターに設定します。今回は [フィーチャクラスの反復] ツールの「ワークスペース、またはフィーチャ データセット」と [マージ] ツールの [出力データセット] をモデル パラメーターに設定します。値の入力はメインモデルの方で行うため、入力の必要はありません。
- 新しくメインモデル作成用のモデルを追加します。
- [カタログ] ウィンドウからサブモデルをモデル キャンバス上にドラッグします。サブモデルが配置されます。
- モデル ウィンドウの [挿入] メニュー → [反復処理] → [ワークスペース] ツールを配置し、サブモデルと接続します。
- [ワークスペースの反復] ツールの [フォルダー] パラメーターや [マージ] ツールの [出力データセット] に対して値を設定します。今回は、[出力データセット] の名称にインライン変数を用いて、ワークスペースの反復で取得した [名前] 変数値を割り当てています。
- モデルを実行します。 下図のように、ワークスペース (ファイル ジオデータベース) 内のフィーチャクラスがマージされ、個々のフィーチャクラスとして作成されます。
参考情報
※ ModelBuilder に関するお問い合わせにつきましては、「関連する質問」の「標準サポート サービスにおけるお問い合わせに関する留意事項」をご確認ください。
- イテレーター (反復処理のツール)を複数個使用したいとき。
関連する質問
メタデータ
機能
種類
製品
バージョン