フィーチャクラスの反復の操作

サマリー

[フィーチャクラスの反復 (Iterate Feature Classes)] ツールは、ワークスペースまたはフィーチャ データセット内のフィーチャクラスを反復します。各反復子が使用するパラメーターのセットはそれぞれ異なりますが、すべての反復子ツールの全体的な構造はよく似ています。[フィーチャクラスの反復 (Iterate Feature Classes)] ツールについて、以下で説明します。

[フィーチャクラスの反復 (Iterate Feature Classes)] パラメーター

  • [入力フィーチャクラス] (入力) - 反復するフィーチャクラスを保存するワークスペースまたはフィーチャ データセットです。
  • [ワイルドカード] (オプションの入力) - 結果を制限するために使用するアスタリスクと文字の組み合わせです。アスタリスクは「すべてがリクエストされる」と同じ意味です。ワイルドカードを指定しない場合は、すべての値が返されます。
  • [フィーチャ タイプ] (オプションの入力) - フィルターとして使用されるフィーチャ タイプです。指定したタイプのフィーチャだけが出力されます。フィーチャ タイプを指定しない場合は、すべてのフィーチャ タイプが返されます。
  • [再帰] (オプションの入力) - メイン ワークスペース内のすべてのサブフォルダーを反復子が反復するかどうかを指定します。
  • [フィーチャクラス] (出力) - フィーチャクラスのフル パスです。
  • [名前] (出力) - フィーチャクラスの名前です。

このワークフローでは、入力モデル ワークスペース内の各フィーチャクラスを反復して投影変換するモデル (次に示します) を作成し、出力の [名前] パラメーターを [投影変換 (Project)] ツールの出力の [フィーチャクラス] の名前のインライン変数として使用します。このワークフローは、反復子の各パラメーターのオプションについて、ステップごとに機能を強調して記載しています。

フィーチャクラスを反復して投影変換する完了モデル

前提条件

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

プロジェクトを開く

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

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

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

  5. [カタログ] ウィンドウのデータを調査し、必要に応じて [プロジェクト] タブをクリックします。[フォルダー] > [IterateFeatureClasses] を順に参照します。

    データ フォルダーにはサブフォルダーが含まれ、各サブフォルダーには反復されてモデルに投影変換されるフィーチャクラスが含まれます。このワークフローの出力は、3 つの Scratch* ジオデータベースに保存されます。

ツールの追加

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

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

    [フィーチャクラスの反復 (Iterate Feature Classes)] ツールの追加

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

  4. [投影変換 (Project)] ツールを追加します。
    1. モデル内をクリックして「投影変換」と入力し、[モデルにツールを追加] ダイアログ ボックスを開きます。
    2. [投影変換 (Project)] ツールを検索します。
    3. [投影変換 (Project)] ツールをダブルクリックして、モデルに追加します。
  5. [値の収集 (Collect Values)] ツールを追加します。
    1. [ModelBuilder] タブをクリックします。
    2. [挿入] グループで、[ユーティリティ] ボタン ユーティリティ をクリックします。
    3. [ユーティリティ] リストで [値の収集] をクリックして、[値の収集 (Collect Values)] ツールをモデルに追加します。

    [値の収集 (Collect Values)] ツールの追加

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

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

  1. [フィーチャクラスの反復 (Iterate Feature Classes)] 反復子をダブルクリックして、反復子のダイアログ ボックスを開きます。
    1. [ワークスペース、またはフィーチャ データセット] パラメーターで、[フォルダー] > [IterateFeatureClasses] > [データ] のフォルダーを順に参照します。
    2. [再帰] チェックボックスをオンにして、すべてのサブフォルダーのすべてのフィーチャクラスを反復します。
    3. 残りのパラメーターを空白のままにして [OK] をクリックします。

    [フィーチャクラスの反復 (Iterate Feature Classes)] のダイアログ ボックス

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

  2. [投影変換 (Project)] ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。
    1. [入力データセット、またはフィーチャクラス] パラメーターのドロップダウン矢印をクリックして、[Metro_Entrances.shp] を選択します。
    2. [出力データセット、またはフィーチャクラス] パラメーターの <Your Project Location>\IterateFeatureClasses\ScratchAllFC.gdb ジオデータベースを参照して、「%名前%_Project」と入力します。
    3. [出力座標系] パラメーターの [座標系] ボタン 座標系 をクリックして、[座標系] ダイアログ ボックスを開きます。[投影座標系] > [大陸範囲の座標系] > [ヨーロッパ] > [Europe Albers Equal Area Conic] を順に選択します。[OK] をクリックして、ダイアログ ボックスを閉じます。
    4. [地理座標系変換] 方式で、[NTF_TO_ED_1950] を維持します。
    5. パラメーターをすべて入力したら、[OK] をクリックして、[投影変換 (Project)] ツールのダイアログ ボックスを閉じます。

    [投影変換 (Project)] ツールのダイアログ ボックス

    注意:

    入力フィーチャクラスに異なる座標系が含まれている場合は、追加した地理座標系変換がすべてに適用されずに、データを不適切に投影変換する可能性があります。どの座標系を使用しているか、そしてどの地理座標系変換方式を適用しているかに注意しておく必要があります。そのような場合には、[ワイルドカード] パラメーターを使用して、選択的にフィーチャクラスを投影変換します。ワイルドカードの使用については、「ワイルドカード オプション パラメーターの使用 セクション」をご参照ください。

  3. [投影変換 (Project)] ツールの出力変数にマウス ポインターを合わせます。コネクタ ラインを描画するには、そのコネクタ ラインをクリックして [値の収集 (Collect Values)] ツール エレメントまでドラッグします。マウス ボタンを放し、ポップアップ メニューの [入力値] をクリックします。[値の収集 (Collect Values)] ツールは、各反復処理の出力値を 1 つの複数値出力に収集するために使用するサポート ツールです。
  4. このワークフローの完了モデルで示されるように、モデルの変数の名前をすべて変更します。
  5. モデルのエレメントを並べ替えるには、[ModelBuilder] タブの [自動レイアウト] ボタン 自動レイアウト をクリックして [ウィンドウに合わせる] ボタン ウィンドウに合わせる をクリックし、[モデル] ウィンドウのレイアウトのサイズを最大化します。

モデルの実行

モデルを整合チェックして実行します。出力を ScratchAllFC.gdb で確認して、[データ] フォルダー内のすべてのフィーチャクラスが反復されて投影変換されたことを確認します。

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

    モデルを実行した後で、出力がマップに追加されます。

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

    モデルは、[データ] フォルダー内のすべてのフィーチャクラスを反復して投影変換し、ScratchAllFC.gdb ジオデータベース内に出力を作成します。

ワイルドカードのオプション パラメーターの使用

次の手順では、ワークフローを拡張して、反復子の [ワイルドカード] のオプション パラメーターの使用方法について詳細を理解します。

  1. 上記のセクションを完了して、出力を投影変換したフィーチャクラスを作成した後で、[フィーチャクラスの反復] ツールをダブルクリックして開きます。
  2. [ワイルドカード] パラメーターに、「Metro*」と入力します。[再帰] パラメーターは、オンのままにします。これにより、モデルがすべてのサブフォルダーを反復し、Metro で始まる名前のフィーチャクラスだけを投影変換します。実行時に * は、「Metro」で始まるフィーチャクラスの名前の残りの部分に置き換えられます。
  3. [OK] をクリックして、ツールのダイアログ ボックスを閉じます。
  4. [投影変換 (Project)] ツールのダイアログ ボックスを開いて、[出力データセット、またはフィーチャクラス] オプションを <Your Project Location>\IterateFeatureClasses\ScratchWildCard.gdb\%Name%_Project に変更します。
  5. [OK] をクリックして、ダイアログ ボックスを閉じます。
  6. [ModelBuilder] タブの [保存] ボタン 保存 をクリックして、モデルを保存します。
  7. [ModelBuilder] タブの [実行] ボタン 実行 をクリックして、モデルを実行します。
    ワイルドカードを使用する [フィーチャクラスの反復 (Iterate Feature Classes)] モデルからの出力

    モデルは、「Metro」で始まる名前のすべてのフィーチャクラスを反復して投影変換し、ScratchWildCard.gdb ジオデータベース内に出力を作成します。

ワイルドカードと [フィーチャ タイプ] オプション パラメーターの使用

次の手順では、ワークフローをさらに拡張して、反復子の [フィーチャ タイプ] のオプション パラメーターの使用方法について詳細を理解します。

  1. ワイルドカード オプション パラメーターの使用を完了して、出力を投影変換したフィーチャクラスを作成した後で、[フィーチャクラスの反復] ツールをダブルクリックして開きます。
  2. [フィーチャ タイプ] パラメーターのドロップダウン矢印をクリックし、[ライン] オプションを選択します。これにより、モデルが「Metro」で始まる名前の [ライン] フィーチャクラスを反復します。
  3. [OK] をクリックして、ツールのダイアログ ボックスを閉じます。
  4. [投影変換 (Project)] ツールのダイアログ ボックスを開いて、[出力データセット、またはフィーチャクラス] オプションを <Your Project Location>\IterateFeatureClasses\ScratchOnlyLine.gdb\%Name%_Project に変更します。
  5. [ModelBuilder] タブの [保存] ボタン 保存 をクリックして、モデルを保存します。
  6. [ModelBuilder] タブの [実行] ボタン 実行 をクリックして、モデルを実行します。
    ワイルドカードと [フィーチャ タイプ] を使用する [フィーチャクラスの反復 (Iterate Feature Classes)] モデルからの出力

    モデルは、「Metro」で始まる名前のすべてのライン フィーチャクラスを反復して投影変換し、ScratchOnlyLine.gdb ジオデータベース内に出力を作成します。

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