モデル内のモデルの操作
このワークフローでは、モデル内のモデル、またはネストされたモデルを作成します。 モデルは、いくつかのフィーチャクラスを反復して投影変換し、単一のフィーチャクラスを作成します。

モデルの一部が複数回実行する必要がないときは、ネストされたモデルが必要です。 反復子をモデルに追加すると、そのモデル内のすべてのツールが反復子が返すそれぞれの値について実行します。 この例では、投影変換 ツールを各フィーチャクラスについて反復します。ただし、マージ ツールは、1 回実行するだけで投影変換されたフィーチャクラスをすべてまとめて取得し、マージされた出力が作成されるため、複数回実行しても意味がありません。 したがって、マージ ツールは 1 回実行されるメイン モデルに追加して、2 回以上実行されるサブモデルを呼び出します。
前提条件
はじめて ModelBuilder を使用する場合は、次のトピックに目を通してください:
プロジェクトを開く
プロジェクトをダウンロードして、このワークフローで使用します。 このプロジェクトには、入力データ、出力ジオデータベース、および完成したモデルが含まれています。
モデル内のモデルの操作の概要ページを開きます。
ページの右側にある ダウンロード をクリックします。
ダウンロードした
ModelWithinModel.zipファイルを右クリックして、C:\Tempなどのわかりやすい場所に展開します。展開したフォルダー ModelWithinModel の ArcGIS Pro プロジェクト ファイル (
ModelWithinModel.aprx) をダブルクリックします。カタログ ウィンドウのデータを調査し、必要に応じて プロジェクト タブをクリックします。 フォルダー > ModelWithinModel の順にクリックします。
ToolData.gdb ジオデータベースには、3 つのフィーチャクラスが含まれています。これは、モデルの入力として使用されます。
モデルの出力は
ScratchCommon.gdbジオデータベースに書き込まれます。
ツールの追加
MyProjectTools ツールボックスにモデルを作成します。 ツールをモデルに追加するには、次の手順を実行します:
カタログ ウィンドウで、プロジェクト タブをクリックします。 フォルダー > ModelWithinModel > MyProjectTools の順にクリックします。
MyProjectTools を右クリックし、新規 > モデル の順にクリックして、モデルを作成して開きます。
リボンの ModelBuilder タブをクリックします。 モデルグループで、プロパティ
をクリックします。 ツール プロパティ ダイアログ ボックスの 名前 に ProjectMainModel を、そして ラベル に プロジェクト メインモデル を入力します。リボンの ModelBuilder タブの モデル グループで、保存 ボタン
をクリックして変更を保存します。別のモデルを作成しますが、このモデルの 名前 テキストを ProjectSubMode とし、また ラベル テキストを プロジェクト サブモデル とします。
ModelBuilder タブで、反復 ドロップダウン メニュー
をクリックしてから、フィーチャクラスの反復 ツールをクリックします。
フィーチャクラスの反復 ツールがプロジェクト サブモデル モデルに追加されます。 パラメーター値が何も指定されていないため、反復子は使用できません。
ModelBuilder タブで、ユーティリティー
をクリックしてから、値の収集 ツールをクリックします。
値の収集 ツールがプロジェクト サブモデル モデルに追加されます。
投影変換 ツールを追加します。
モデル内をクリックして 投影変換 とモデルに直接入力し、モデルにツールを追加 ダイアログ ボックスを開きます。
投影変換 ツールを検索します。
投影変換 ツールをダブルクリックして、モデルに追加します。

ヒント:
ツールのパラメーターを指定してツールを接続する
モデルにツールを追加した後で、各ツールのパラメーターを指定する必要があります。
フィーチャクラスの反復 ツールをダブルクリックして、反復子のダイアログ ボックスを開きます。
ワークスペース、またはフィーチャ データセット パラメーターで、ToolData.gdb ジオデータベースを参照します。
その他のパラメーターはデフォルト値のままで、OK をクリックします。

ワークスペースがモデル変数としてモデルに追加 (青の角丸四角形) されて、反復子の色が変わります。これは、必要なパラメーターが提供されて、実行可能になったことを表します。
ヒント:
反復子の出力を右クリックして、名前の変更 をクリックします。 名前に フィーチャクラス と入力します。
投影変換 ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。
入力データセット、またはフィーチャクラス パラメーターのドロップダウン リストから フィーチャクラス を選択します。
出力データセット、またはフィーチャクラス パラメーターの
<Your Project Location>\ScratchCommon.gdbを参照して、%名前%_投影 と入力します。出力座標系 パラメーターで、投影座標系 > 米国州平面座標系 > NAD 1983 (Meters) > NAD 1983 StatePlane Oregon North FIPS 3601 (Meters) の順に選択します。
その他のパラメーターはデフォルト値のままで、OK をクリックして 投影変換 ツールのダイアログ ボックスを閉じます。

注意:
入力フィーチャクラスに異なる座標系が含まれている場合は、地理座標系変換がすべてに適用されずに、データを不適切に投影変換する可能性があります。 入力座標系および適用する地理座標系変換方式に注意しておく必要があります。 そのような場合には、ワイルドカード パラメーターを使用して、選択的にフィーチャクラスを投影変換します。
投影変換 ツールの出力変数 (緑の角丸四角形) にマウス ポインターを合わせます。 コネクター ラインを描画するには、そのコネクター ラインをクリックして 値の収集 ツールまでドラッグします。 マウス ボタンを放し、ポップアップ メニューの 入力値 をクリックします。
値の収集 ツールは、各反復処理の出力値を 1 つの複数値出力に収集するために使用するモデルのユーティリティー ツールです。
反復子への入力変数を右クリックして パラメーター をオンにします。
これで、変数の横に文字 P が追加されて、これがモデル パラメーターであることを示します。
上記と同じ方法で、値の収集 ツールの出力からモデル パラメーターを作成します。
モデルのエレメントを並べ替えるには、ModelBuilder タブの 自動レイアウト ボタン
をクリックして ウィンドウに合わせる ボタン
をクリックし、モデル ウィンドウのレイアウトのサイズを最大化します。ModelBuilder タブの 保存 ボタン
をクリックしてモデルを保存し、プロジェクト サブモデルを閉じます。プロジェクト メインモデル モデルで、マージ ツールを検索してモデルに追加します。
カタログ ウィンドウで直前に作成したプロジェクト サブモデル モデルを参照します。 プロジェクト サブモデル モデルを、プロジェクト メインモデル モデルにドラッグします。
サブモデルがメインモデルに追加されます。 サブモデルのパラメーターが変数としてメインモデルに追加されます (ToolData.gdb では青の角丸四角形、Output Values では緑の角丸四角形)。
プロジェクト サブモデルの出力変数 出力値 (緑の角丸四角形) にマウス ポインターを合わせます。 コネクター ラインを描画するには、そのコネクター ラインをクリックして マージ ツールまでドラッグします。 マウス ボタンを放し、ポップアップ メニューの 入力データセット をクリックします。
これは、サブモデル出力と マージ ツールとの間の接続を作成します。

マージ ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。 出力データセット パラメーターで、
<Your Project Location>\ScratchCommon.gdbジオデータベースを参照して、ProjectedFC_Merge と入力します。 フィールド マップ パラメーターはデフォルト値のままで、OK をクリックしてダイアログ ボックスを閉じます。
入力および出力変数の名前は、デフォルトの変数名の代わりに、より意味のある名前に変更しておくことをおすすめします。
マージ ツール出力の マージされたフィーチャクラス の名前を変更します。 このトピックの冒頭で示したように、その他すべてのモデル変数の名前を変更します。
モデルの実行
モデルを検証して実行します。 ScratchCommon.gdb ジオデータベース内の出力を確認し、すべてのフィーチャクラスが投影後にマージされたことを確かめます。
マージ ツールの出力を右クリックして、マップへ追加 をクリックします。
出力がマップに追加されます。
ModelBuilder タブの 保存 ボタン
をクリックして、モデルを保存します。プロジェクト メインモデル タブの 実行 ボタン
をクリックして、モデルを実行します。モデルがサブモデルを実行し、すべてのフィーチャクラスを反復して投影変換し、ScratchCommon.gdb ジオデータベース内に出力を作成します。 値の収集 ツールがサブモデル内の出力を収集し、そのデータセットを マージ ツールの 入力データセット パラメーターに渡します。 マージ ツールは、1 回実行されて、マージされた出力を作成します。

モデルと ArcGIS Pro 終了します。