フィーチャ選択の反復の操作

サマリー

[フィーチャ選択の反復 (Iterate Feature Selection)] ツールは、フィーチャクラス内のフィーチャを反復します。

フィーチャ選択を反復する完了モデル

このワークフローでは、モデルを作成して、あるフィーチャクラス (USA states) の地域別にグループ化したフィーチャを反復し、8 つのフィーチャクラスを各グループまたは地域に対して 1 つ作成します。フィーチャクラスを分割するために使用するフィールド値 (地域) は、出力フィーチャクラスの名前としても使用します。地域名は、スペースを含みます。たとえば、Pacific West Region、Mid Atlantic Region などです。ファイル ジオデータベースでは、スペースは有効なファイル名の文字として使用できません。使用できないスペースを削除するために、[値の計算 (Calculate Value)] ツールのインライン変数 (%値%) として使用することで、反復子の出力パラメーター値 (地域名) を変更します。[値の計算 (Calculate Value)] ツールの出力は、[フィーチャのコピー (Copy Features)] ツールの出力名 (%名前%) のインライン変数として最終的に使用されます。[フィーチャのコピー (Copy Features)] ツールの出力が [値の収集 (Collect Values)] ツールに接続され、これにより各反復処理の出力が収集されて 1 つの複数値出力が出力されます。

前提条件

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

プロジェクトを開く

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

  1. フィーチャ選択の反復の操作の概要ページを開きます。
  2. ページの右側にある [ダウンロード] をクリックします。
  3. ダウンロードした IterateFeatureSelection.zip ファイルを右クリックして、C:\Temp などのわかりやすい場所に展開します。
  4. 展開したフォルダー [IterateFeatureSelection] の ArcGIS Pro プロジェクト ファイル (IterateFeatureSelection.aprx) をダブルクリックします。
  5. [カタログ] ウィンドウのデータを調査し、必要に応じて [プロジェクト] タブをクリックします。[フォルダー] > [IterateFeatureSelection] を順に参照します。

    ToolData.gdb ジオデータベースには、[States] フィーチャクラスが含まれています。これは、モデルの入力として使用されます。

    モデルの出力は、ScratchStates.gdb ジオデータベースに書き込まれます。

ツールの追加

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

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

    [フィーチャ選択の反復 (Iterate Feature Selection)] ツールの追加

    [フィーチャ選択の反復 (Iterate Feature Selection)] 反復子がモデルに追加されます。パラメーター値が何も指定されていないため、反復子は使用できません。

  4. [値の計算 (Calculate Value)] ツールを追加します。
    1. リボンの [ModelBuilder] タブをクリックします。
    2. [挿入] グループで、[ユーティリティ] ユーティリティ をクリックします。
    3. [ユーティリティ] リストで、[値の計算] をクリックします。

    [値の計算 (Calculate Value)] ツールの追加

    [値の計算 (Calculate Value)] ツールがモデルに追加されます。

  5. 前回のステップでの説明に従って、[値の収集 (Collect Values)] ツールをモデルに追加します。
  6. [フィーチャのコピー (Copy Features)] ツールを追加します。
    1. モデル内をクリックして「フィーチャのコピー」と入力し、[モデルにツールを追加] ダイアログ ボックスを開きます。
    2. [フィーチャのコピー (Copy Features)] ツールを検索します。
    3. [フィーチャのコピー (Copy Features)] ツールをダブルクリックして、モデルに追加します。

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

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

  1. [フィーチャ選択の反復 (Iterate Feature Selection)] 反復子をダブルクリックして、反復子のダイアログ ボックスを開きます。
    1. [入力フィーチャ] パラメーターで、<Your Project Location>\IterateFeatureSelection\ToolData.gdb を参照して、[States] フィーチャクラスを選択します。
    2. 残りのパラメーターを空白のままにして [OK] をクリックします。

    [フィーチャ選択の反復 (Iterate Feature Selection)] ツールのダイアログ ボックス

    [入力フィーチャクラス] がモデル変数としてモデルに追加 (濃い青の楕円) されて、反復子の色が変わります。これは、必要なパラメーターが提供されて、実行可能になったことを表します。

  2. [フィーチャ選択 (Feature Selection)] 反復子を右クリックして、[変数の作成][パラメーターから][フィールドでグループ化] と順にクリックし、[フィールドでグループ化] パラメーターをモデルの変数として公開します。
    1. ドロップダウン リストから [フィールドでグループ化] モデル変数をダブルクリックして、Region を選択します。
    2. [OK] をクリックして、ダイアログ ボックスを閉じます。

    [フィーチャ選択の反復 (Iterate Feature Selection)] の [フィールドでグループ化] の設定

    Region フィールド値を使用して、各反復処理のフィーチャを選択します。

  3. [値の計算 (Calculate Value)] ツールをダブルクリックし、ツールのダイアログ ボックスを開きます。[式] パラメーターに、「"%値%".replace(" ","")」と入力して [データ タイプ] を [文字列] に変更します。

    この式は以下の部分で構成されます。

    [値の計算 (Calculate Value)] ツールのダイアログ ボックス

    実行時に、反復子の出力パラメーター (明るい青の楕円) の地域名の %値% が、Pacific West Region、Mid Atlantic Region などの変数の値で置き換えられます。

  4. [OK] をクリックしてダイアログ ボックスを閉じます。
  5. ModelBuilder では、ツールは階層を取得して、接続されている上流のツールが最初に実行されているときにのみ、実行します。[値の計算 (Calculate Value)] ツールは、式内の反復子の出力パラメーターを使用しますが接続されていません。そのため、地域名が見つからない場合は失敗します。[値の計算 (Calculate Value)] ツールの前に反復子を実行することで、地域名を使用できます。したがって、[値の計算 (Calculate Value)] ツールの前提条件として、変数を設定します。

    [フィーチャ選択の反復 (Iterate Feature Selection)] ツールの出力変数の (緑の楕円) にマウス ポインターを合わせます。コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [値の計算 (Calculate Value)] ツールまでドラッグします。マウス ボタンを放し、ポップアップ メニューの [前提条件] をクリックします。

    [値の計算 (Calculate Value)] ツールの前提条件の設定

  6. [States] 変数 (濃い青の楕円) を右クリックして、[名前の変更] をクリックします。新しい名前に「入力フィーチャクラス」と入力します。同様の方法で、反復子 [I_States] の出力 (緑の楕円) を「選択フィーチャ」に、また [値の計算 (Calculate Value)] ツールの出力を「名前」に名前変更します。
  7. [値の計算 (Calculate Value)] ツールの出力変数の [名前] (緑の楕円) にマウス ポインターを合わせます。コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [フィーチャのコピー (Copy Features)] ツールまでドラッグします。マウス ボタンを放し、ポップアップ メニューの [前提条件] をクリックします。
  8. [フィーチャのコピー (Copy Features)] ツールをダブルクリックし、ツールのダイアログ ボックスを開きます。
    1. [入力フィーチャ] のドロップダウン リストから [選択フィーチャ] を選択します。
    2. [出力フィーチャクラス] パラメーターの <Your Project Location>\ScratchStates.gdb を参照して、「%名前%」と入力します。

    [フィーチャのコピー (Copy Features)] ツールのダイアログ ボックス

    残りのパラメーターはデフォルト設定のままにして、[OK] をクリックし、[フィーチャのコピー (Copy Features)] ツールのダイアログ ボックスを閉じます。

  9. [フィーチャのコピー (Copy Features)] ツールの出力変数 (緑の楕円) にマウス ポインターを合わせます。コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [値の収集 (Collect Values)] ツールまでドラッグします。マウス ボタンを放し、ポップアップ メニューの [入力値] をクリックします。
  10. 完了モデルで示されるように、モデルの変数の名前をすべて変更します。
  11. モデルのエレメントを並べ替えるには、[ModelBuilder] タブの [自動レイアウト] ボタン 自動レイアウト をクリックして [ウィンドウに合わせる] ボタン ウィンドウに合わせる をクリックし、[モデル] ウィンドウのレイアウトのサイズを最大化します。

モデルの実行

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

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

  2. [ModelBuilder] タブの [保存] ボタン 保存 をクリックして、モデルを保存します。
  3. [ModelBuilder] タブの [実行] ボタン 実行 をクリックして、モデルを実行します。
    [フィーチャ選択の反復 (Iterate Feature Selection)] の出力のモデル

    モデルは、フィーチャの 8 つのグループを反復し、ScratchStates.gdb ジオデータベースに 8 つのフィーチャクラスを作成します。

  4. モデルおよび ArcGIS Pro を閉じます。