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