1 つ以上の値を含む変数をリスト変数と呼びます。1 つのモデルで、1 つまたは複数の変数をリスト変数として宣言できます。変数をリストに設定するには、次の手順を実行します。
- 変数を右クリックします。
- [プロパティ] をクリックします。
- [リスト値] をクリックします。
リスト変数を開くと、変数の値を入力するためのバッチ グリッドが表示されます。リスト変数をツールに接続すると、接続されたツールとそのすべての下流プロセス(ツールの出力に依存するプロセス)が、リストの各値について 1 回ずつ実行されます。変数リストを使用すると、モデル内の他の単一値変数の値を指定する必要がありません。それ以外の点は、バッチを使用した場合と同様です。リスト変数を使用するには、バッチ グリッドの使用方法を理解しておく必要があります。
リスト変数の使用例
リストの処理を示す例として、[クリップ(Clip)] と [バッファ(Buffer)] を使用する簡単なモデルを示します。
この例では、「入力フィーチャ」変数がリストに設定されています。「入力フィーチャ」をリスト変数に設定した結果、「出力クリップ済みフィーチャ」と「出力バッファ フィーチャ」変数が自動的にリスト変数に設定されます。これは、これらの変数が「入力フィーチャ」変数に依存しているためです。下の例では、[クリップ(Clip)] ツールが開かれ、3 つの入力クリップ フィーチャクラスが追加されています。[クリップ フィーチャ] と [XY 許容値] のパラメータは、1 行目のセル以外では使用できません。これは、「調査地域のクリップ」変数はリストではなく、[XY 許容値] パラメータの変数がないためです。1 行目のセルの値が、他の 3 つの入力で使用されます。
これで、ModelBuilder でモデルを実行する準備ができました。「入力フィーチャ」クラス リスト変数に含まれる各値に対して、モデルが実行されます。
リストでのインライン変数置換と入力オプションの使用
モデルに出力リスト変数を作成した場合は、出力名にインライン変数置換として %i% を使用できます。%i% は、出力名の末尾にリスト番号を付加します。多数の入力がある場合は、バッチ グリッドで各出力に一意の出力名を定義するのが面倒な場合があります。このような場合は、次に示すように入力オプションとインライン変数置換を一緒に使用できます。
- [クリップ(Clip)] ツールをダブルクリックして、ツールのダイアログ ボックスを開きます。
- [入力フィーチャ] と [クリップ フィーチャ] に値を入力します。
- [出力フィーチャクラス] で、1 行目のセルをクリックして出力のパスを定義します。このとき、上の図に示すように名前に %i% を使用します。
- 1 行目のセルでパスと名前を定義した後、セルを右クリックして [入力] をクリックします。