ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

反復子の使用の概要

  • 反復子について
  • 反復子の入力と出力
  • 参考情報

反復処理はループとも呼ばれ、プロセスをある程度の自動化を利用して繰り返すことを意味します。タスクの反復を自動化することで、タスクの実行に必要な時間と作業量が削減されるため、反復処理は非常に重要です。ModelBuilder の反復処理では、反復ごとに異なる設定または異なるデータを使用して、プロセスを繰り返し実行できます。ModelBuilder の反復処理には柔軟性もあり、モデル全体または単一のツールまたはプロセスを繰り返し実行できます。

反復子説明

For

開始値から終了値までの間を、指定した間隔で反復処理します。これは、スクリプトまたはプログラム言語で使用される For と同じ機能を果たし、指定されたアイテム数だけ実行されます。

While

他のスクリプト言語またはプログラミング言語の「while」と同様に機能し、入力または入力セットで条件が true または false の間、反復処理を行います。

フィーチャ選択の反復 (Iterate Feature Selection)

フィーチャクラス内のフィーチャを反復処理します。

行選択の反復 (Iterate Row Selection)

テーブルの行を反復処理します。

フィールド値の反復 (Iterate Field Values)

フィールド内の各値を反復処理します。

複数値の反復 (Iterate Multivalue)

値のリストを反復処理します。

データセットの反復 (Iterate Datasets)

ワークスペースまたはフィーチャ データセット内のデータセットを反復処理します。

フィーチャクラスの反復 (Iterate Feature Classes)

ワークスペースまたはフィーチャ データセット内のフィーチャクラスを反復処理します。

ファイルの反復 (Iterate Files)

フォルダー内のファイルを反復処理します。

ラスターの反復 (Iterate Rasters)

ワークスペースまたはラスター カタログ内のラスターを反復処理します。

テーブルの反復 (Iterate Tables)

ワークスペース内のテーブルを反復処理します。

ワークスペースの反復 (Iterate Workspaces)

フォルダー内のワークスペースを反復処理します。

反復子について

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

反復子について

[フィーチャクラスの反復 (Iterate Feature Classes)] には、反復処理するすべてのフィーチャクラスを格納する [入力ワークスペース] が必要です。[ワイルドカード] と [フィーチャ タイプ] の 2 つの追加パラメーターを使用すると、反復処理するワークスペース内のフィーチャクラスが制限されます。

  • [ワイルドカード] は、名前によりフィーチャクラスを制限します。
  • [フィーチャ タイプ] は、フィーチャのタイプ (アノテーション、アーク、ディメンション、エッジ、ジャンクション、ラベル、ライン、ノード、ポイント、ポリゴン、リージョン、ルート、またはティック) によりフィーチャクラスを制限します。

[再帰] パラメーターを使用すると、ワークスペース内のサブフォルダーにあるフィーチャクラスの反復処理を制御できます。

[フィーチャクラスの反復 (Iterate Feature Classes)] には、出力フィーチャクラスとフィーチャクラスの名前の 2 つの出力変数があります。出力フィーチャクラスは、次のツールに接続して処理できます。また、「名前」変数は、インライン変数置換で使用できます。たとえば、[バッファー (Buffer)] ツールをモデルに追加して、「フィーチャクラス」変数をツールに接続した場合は、ワークスペースのすべてのフィーチャクラスがバッファー処理されます。

反復子の入力と出力

次の表に、反復子の一覧と、それぞれの入力および出力を示します。ほとんどの反復子に、2 つめの出力として「値」または「名前」があります。これは、インライン変数置換で使用できます。

反復子入力出力 1出力 2

For

値

値

-

While

値

ブール値 (True または False)

-

フィーチャ選択の反復 (Iterate Feature Selection)

フィーチャ

フィーチャ

値

行選択の反復 (Iterate Row Selection)

テーブル

レコード

値

フィールド値の反復 (Iterate Field Values)

テーブル

フィールド値

-

複数値の反復 (Iterate Multivalue)

値

値

-

データセットの反復 (Iterate Datasets)

ワークスペースまたはフィーチャ データセット

データセット

名前

フィーチャクラスの反復 (Iterate Feature Classes)

ワークスペースまたはフィーチャ データセット

フィーチャクラス

名前

ファイルの反復 (Iterate Files)

フォルダー

ファイル

名前

ラスターの反復 (Iterate Rasters)

ワークスペースまたはラスター カタログ

ラスター データセット

名前

テーブルの反復 (Iterate Tables)

ワークスペース

テーブル

名前

ワークスペースの反復 (Iterate Workspaces)

フォルダー

ワークスペース

名前

注意:

  • 1 つのモデルに対して、反復子を 1 つだけ使用できます。モデルに反復子が存在している場合、別の反復子を追加するオプションは無効になります。
  • 反復子をモデルに追加すると、モデル内のすべてのツールが反復子の各値に対して反復処理されます。各反復値に対してモデル内の各ツールを実行したくない場合は、反復子だけを含むサブモデル (モデル内のモデル、またはネストされたモデル)を作成し、メイン モデルにモデル ツールとして追加します。
  • 反復子を含むモデルを Python スクリプトにエクスポートすると、スクリプトには反復処理の論理が含まれなくなります。Python のリストの論理をスクリプトに追加して、同様の処理を実行できます。
  • 反復子を使用すると、[モデル プロパティ] の [反復処理] オプションにデフォルト値の -1 が設定されます。これは、回数を制限せずにモデルを実行するか、設定された回数ではなく反復子の入力の数に基づいてモデルを実行することを意味します。
  • 反復子に接続されたツールの出力には、次の方法で反復処理ごとに一意の名前を付け、上書きされるのを避けることができます。
    • システム変数 %n% を使用します (たとえば、「C:\Sctatch\scratch.gdb\output_%n%」)。
    • モデルで使用されている反復子の [名前] または [値] の出力をインライン変数として使用します (たとえば、「C:\Sctatch\scratch.gdb\output_%Name%」や「C:\Sctatch\scratch.gdb\output_%Value%」)。
    • モデル内のその他の変数をインライン変数として使用します (たとえば、XYZ という変数がある場合は、出力の名前を「C:\Scratch\scratch.gdb\output_%XYZ%」のように使用できます)。この変数には、定数ではなく、反復処理ごとに変わる値を与える必要があります。そうしないと、各反復処理でファイルが上書きされます。
  • [マップへ追加] オプションをオンにした場合、ツールの出力は変数名を使用して ArcMap の表示に追加されます。各反復処理の出力を、変数名ではなく実際の固有の出力名で ArcMap の表示に追加する場合、以下のようにします。
    1. 表示される出力を [値の収集 (Collect Values)] ツールに接続します。
    2. [値の収集 (Collect Values)] の出力を右クリックして、[マップへ追加] をオンにします。
    3. モデル ツール ダイアログ ボックスからモデルを実行する場合は、出力モデル パラメーターだけが表示に追加されるため、[値の収集 (Collect Value)] ツールの出力をモデル パラメーターにします。

レガシー:

反復子は、ArcGIS 10 より前のバージョンで提供されていた [モデル プロパティ] 内の一連のオプションに置き換わるものです。

参考情報

  • タスクに適した反復子の選択
  • 反復子の使用例
  • ModelBuilder での反復子へのアクセス

関連トピック

  • カーソルを使用したデータへのアクセス
  • データのリストの作成

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル