反復子
反復処理は、ループ処理やバッチ処理とも呼ばれ、一定の自動化により処理を繰り返すことを意味します。 タスクの反復を自動化することで、タスクの実行に必要な時間と作業量が削減されるため、反復処理は重要です。 ModelBuilder の反復処理では、反復ごとに異なる設定または異なるデータを使用して、プロセスを繰り返し実行できます。 ModelBuilder の反復処理には柔軟性もあり、モデル全体や単一のツールまたはプロセスを繰り返し実行できます。
このビデオは、ArcGIS Pro 3.7 を使用して作成されています。
注意:
1 つのモデルで使用できる反復子は 1 つだけです。 モデルに反復子が存在している場合、別の反復子を追加するオプションは無効になります。
反復子をモデルに追加すると、モデル内のすべてのツールが反復子の各値に対して反復処理されます。 反復値ごとにモデル内の各ツールを実行したくない場合は、反復子だけを含むサブモデル、モデル内のモデル、またはネストされたモデルを作成し、メイン モデルにモデル ツールとして追加します。
反復子に接続されているツールの出力に一意の名前を付けるには、インライン変数置換を使用します。
ModelBuilder には多くの反復子があり、これらを使用して複数の値、データセット、およびワークスペースを反復処理できます。
|
反復子 |
説明 |
|---|---|
|
開始値から終了値までの間を、指定した間隔で反復処理します。 |
|
|
ワークスペース内にあるさまざまなタイプのデータセットを反復処理します。 |
|
|
ワークスペースまたはフィーチャ データセット内のフィーチャクラスを反復処理します。 |
|
|
フィーチャクラス内のフィーチャを反復処理します。 |
|
|
フィールド内の各値を反復処理します。 |
|
|
テーブルのフィールドを反復処理します。 |
|
|
フォルダー内のファイルを反復処理します。 |
|
|
マップ内のレイヤーを反復処理します。 |
|
|
値のリストを反復処理します。 |
|
|
ワークスペース内のラスターを反復処理します。 |
|
|
テーブルの行を反復処理します。 |
|
|
ワークスペース内のテーブルを反復処理します。 |
|
|
フィールド内の時間にわたって反復処理します。 |
|
|
フォルダー内のワークスペースを反復処理します。 |
|
|
条件が True または False になるまで反復処理を行います。 |
反復子の追加と使用
反復子をモデルに追加するには、ModelBuilder > 挿入 > 反復子 の順にクリックし、リストから反復子を選択します。
反復子の設定を表示および変更するには、反復子のエレメントをダブルクリックします。 よく使用される反復子として、フィーチャクラスの反復 について以下で説明します。

|
エレメント |
説明 |
|---|---|
|
ワークスペース |
入力ワークスペース (ジオデータベースなど) またはフィーチャ データセット。 |
|
ワイルドカード |
結果を制限するために使用する、 |
|
フィーチャ タイプ |
結果を制限するのに役立つフィーチャ タイプ フィルター。 よく使用されるのは、 |
|
再帰 |
反復子をワークスペース内のサブフォルダーに配置するかどうかを決定します。 これはオプションです。 |
|
出力フィーチャクラス |
フィーチャクラスのパスを含む出力変数。 この変数は、フィーチャ レイヤーまたはフィーチャクラスを受け取るすべてのジオプロセシング ツールで、入力として使用できます。 |
|
名前 |
フィーチャクラスの名前を含む出力変数。 これは文字列です。 |
フィーチャクラスの反復 ツールでは、反復処理を行うすべてのフィーチャクラスが格納された 入力ワークスペース の値を指定する必要があります (上のグラフィックスでは、Workspace という名前の変数)。 ワイルドカード、フィーチャ タイプ、および 再帰 の 3 つの追加設定を使用して、ワークスペース内で反復処理するフィーチャクラスを制限し、ワークスペースのサブフォルダーに対して反復処理を行うかどうか制御します。
フィーチャクラスの反復 ツールには、フィーチャクラスとフィーチャクラスの名前の 2 つの出力変数があります。 フィーチャクラス変数は、次のツールに接続して処理できます。また、名前変数はインライン変数置換で使用できます。