For 反復子の操作

サマリー

[For] ツールでは、指定された値の回数だけ、開始値と終了値が反復されます。 これは、スクリプト/プログラム言語で使用される For と同様の機能を果たし、指定されたアイテム数だけ実行されます。

[For] 反復子を使用する完了モデル

このワークフローでは、簡単なモデルを作成し、植生タイプおよび道路との近接性に基づいて建設候補の道路の影響を決定します。 モデルでは、道路が最初に 500 フィート、1000 フィート、および 1500 フィートの距離値で 3 回バッファー処理されます。 これらの距離値は、[For] 反復子から取得されます。 バッファー ゾーンは、[クリップ (Clip)] ツールを使用して植生データをクリップし、バッファー ポリゴン内の植生タイプのデータセットを作成するために使用されます。 [統計サマリー (Summary Statistics)] ツールで、建設候補の道路の周囲のバッファー ポリゴン内の植生タイプにより対象地域を集計します。 [値の収集 (Collect Values)] ツールで、反復処理のすべての出力を収集し、それらを ArcGIS Pro[コンテンツ] ウィンドウに追加して表示します。

前提条件

はじめて ModelBuilder を使用する場合は、次のトピックに目を通してください。

プロジェクトを開く

プロジェクトをダウンロードして、このワークフローで使用します。 このプロジェクトには、入力ジオデータベース、出力ジオデータベース、および完成したモデルが含まれています。

  1. For 反復子の操作の概要ページを開きます。
  2. ページの右側にある [ダウンロード] をクリックします。
  3. ダウンロードした IterateFor.zip ファイルを右クリックして、C:\Temp などのわかりやすい場所に展開します。
  4. 展開したフォルダー [IterateFor] の ArcGIS Pro プロジェクト ファイル (IterateFor.aprx) をダブルクリックします。

    プロジェクトにより空のマップが開きます。マップは、このワークフローで作成するモデルの結果を表示するときに使用されます。

  5. [カタログ] ウィンドウのデータを調査し、必要に応じて [プロジェクト] タブをクリックします。 [フォルダー] > [IteratorFor] を順に参照します。
  6. Data.gdb ジオデータベースには、PlanA_Roads および vegtype フィーチャクラスがありますが、これらはモデル入力として使用します。 ScratchCommon.gdb ジオデータベースは、モデル出力を保存するために使用します。

ツールの追加

MyProjectTools ツールボックスにモデルを作成します。 ツールをモデルに追加するには、次の手順に従います。

  1. 必要に応じて、[カタログ] ウィンドウで、[プロジェクト] タブをクリックします。 [フォルダー] > [IterateFor] > [MyProjectTools] を順に参照します。
  2. [MyProjectTools] を右クリックして [新規] をクリックします。 [モデル] を選択してモデルを作成して開きます。
  3. [For] ツールを追加します。
    1. [ModelBuilder] タブをクリックします。
    2. [挿入] グループで、[反復] 反復子 をクリックします。
    3. [反復] リストの [For] をクリックします。

    [For] 反復子の追加

    [For] 反復子がモデルに追加されます。 パラメーター値が何も指定されていないため、反復子は使用できません。

  4. [値の収集 (Collect Values)] ツールを追加します。
    1. [ModelBuilder] タブをクリックします。
    2. [挿入] グループで、[ユーティリティ] ユーティリティ をクリックします。
    3. [ユーティリティ] リストで、[値の収集] をクリックします。

    値の収集ツールの追加

    [値の収集 (Collect Values)] ツールがモデルに追加されます。

  5. [バッファー (Buffer)] ツールを追加します。
    1. モデル内をクリックして「バッファー」と入力し、[モデルにツールを追加] ダイアログ ボックスを開きます。
    2. [バッファー (Buffer)] ツールを検索します。
    3. [バッファー (Buffer)] ツールをダブルクリックして、モデルに追加します。
  6. 前回のステップでの説明に従って、[クリップ (Clip)] および [要約統計量 (Summary Statistics)] ツールをモデルに追加します。

ツールのパラメーターを指定して、ツールを接続します。

モデルにツールを追加した後で、各ツールのパラメーターを指定する必要があります。

  1. [For] 反復子をダブルクリックして、反復子のダイアログ ボックスを開きます。 。
    1. [開始値][終了値]、および [増分値] として、それぞれ 5001500、および 500 を入力します。
    2. [OK] をクリックして、ダイアログ ボックスを閉じます。

    [For] 反復子ダイアログ ボックス

    ツールを実行すると、モデルは最初の反復処理で 500 を出力し、その後 1000 および 1500 を出力します。

  2. [バッファー (Buffer)] ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。
    1. [入力フィーチャ] パラメーターの参照ボタン 参照 をクリックし、<Your Project Location>\IterateFor\Data.gdb ジオデータベースを参照します。 PlanA_Roads フィーチャ レイヤーを選択します。
    2. [出力フィーチャクラス] パラメーターの <Your Project Location>\IterateFor\ScratchCommon.gdb ジオデータベースを参照して、「BufferedFC_%値%」と入力します。

      実行時に、[For] 反復子 (明るい青の楕円) の出力変数名の %値% が、変数の値 500、1000、または 1500 で置き換えられます。

      ヒント:

      ModelBuilder では、変数の値またはデータセット パスを別の変数で置換することができます。この場合、置換する変数の名前をパーセント記号で囲みます (%変数名%)。 このように変数を置き換える方法を、インライン変数置換と呼びます。

    3. [バッファーの距離 [値またはフィールドを指定]] パラメーターの [距離単位] オプションを選択し、距離を空白のままにして単位を [フィート] に設定します。
    4. 残りのパラメーターはデフォルト設定のままにして、[OK] をクリックし、ダイアログ ボックスを閉じます。

    [バッファー (Buffer)] ツール ダイアログ ボックス

  3. [For] 反復子の出力変数にマウス ポインターを合わせます。 コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [バッファー (Buffer)] ツールまでドラッグします。 マウスを放してポップアップ メニューの [バッファーの距離 [値またはフィールドを指定]] をクリックします。
  4. [クリップ (Clip)] ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。
    1. [入力フィーチャ] パラメーターの参照ボタン 参照 をクリックし、<Your Project Location>\IterateFor\Data.gdb ジオデータベースを参照します。 vegtype フィーチャ レイヤーを選択します。
    2. [クリップ フィーチャ] パラメーターのドロップダウン矢印をクリックして、[BufferedFC_%値%] を選択します。
    3. [出力フィーチャクラス] パラメーターの <Your Project Location>\IterateFor\ScratchCommon.gdb ジオデータベースを参照して、「ClippedFC_%値%」と入力します。

      実行時に、[For] 反復子 (明るい青の楕円) の出力変数名の %値% が、変数の値 500、1000、または 1500 で置き換えられます。

    4. 残りのパラメーターはデフォルト設定のままにして、[OK] をクリックし、ダイアログ ボックスを閉じます。

    [クリップ (Clip)] ツール ダイアログ ボックス

    [バッファー (Buffer)] ツールの出力値と [クリップ (Clip)] ツールの間の接続が作成されます。

  5. [要約統計量 (Summary Statistics)] ツールをダブルクリックし、ツールのダイアログ ボックスを開きます。
    1. [入力テーブル] パラメーターのドロップダウン矢印をクリックして、[ClippedFC_%値%] を選択します。
    2. [出力テーブル] パラメーターで、<Your Project Location>\IterateFor\ScratchCommon.gdb ジオデータベースを参照して、「AffectedVegetation%値%」と入力します。

      実行時に、[For] 反復子 (明るい青の楕円) の出力変数名の %値% が、変数の値 500、1000、または 1500 で置き換えられます。

    3. [統計フィールド] パラメーターの [フィールド] 列の Shape_area、および [統計の種類] 列の [合計] を選択します。
    4. [ケース フィールド] パラメーターの VEG_TYPE を選択します。
    5. [OK] をクリックして、ダイアログ ボックスを閉じます。
    [要約統計量 (Summary Statistics)] ツールのダイアログ ボックス
  6. [クリップ (Clip)] ツールの出力変数にマウス ポインターを合わせます。 コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [値の収集 (Collect Values)] ツールまでドラッグします。 マウス ボタンを放し、ポップアップ メニューの [入力値] をクリックします。 同じ手順に従って、[要約統計量 (Summary Statistics)] ツールと [値の収集 (Collect Values)] ツールを接続します。

    入力および出力変数の名前は、デフォルトの変数名を使用する代わりに、より意味のある名前に変更しておくことをお勧めします。

  7. [バッファー (Buffer)] ツールの出力を右クリックして、[名前の変更] をクリックします。 新しい名前として、「Buffered FC」と入力します。 完了モデルで示されるように、同様に変数の名前をすべて変更します。
  8. モデルのエレメントを並べ替えるには、[ModelBuilder] タブの [自動レイアウト] ボタン 自動レイアウト をクリックして [ウィンドウに合わせる] ボタン ウィンドウに合わせる をクリックし、[モデル] ウィンドウのレイアウトのサイズを最大化します。

モデルの実行

  1. [値の収集 (Collect Values)] ツールの出力を右クリックして、[マップへ追加] をクリックします。

    出力がマップに追加されます。

  2. [ModelBuilder] タブの [保存] ボタン 保存 をクリックして、モデルを保存します。
  3. [ModelBuilder] タブの [実行] ボタン 実行 をクリックして、モデルを実行します。
    [For] 反復子モデルからの出力

    モデルが、[For] 反復子からのすべての距離値を反復し、すべての距離値の入力フィーチャクラスをバッファーし、フィーチャクラスをクリップし、さらに植生タイプにより対象地域を集計します。

  4. [コンテンツ] ウィンドウの追加されたテーブルを右クリックして [開く] Open Table を選択し、各バッファーの距離について、どの植生が建設候補の道路の最も大きな影響を受けるかを表示します。
  5. モデルおよび ArcGIS Pro を閉じます。