ModelBuilder のシステム変数によるインライン変数置換の例

ModelBuilder には、反復処理のワークフローで使用できる組み込みのシステム変数が用意されています。これらの 2 つのシステム変数には、現在の反復の回数と現在のリストのインデックスが含まれます。%i% は、リスト変数における現在のリストの位置を表します(最初の位置が 0)。%n% は、現在のモデルの反復処理を表します(1 回目が 0)。

インライン変数置換での %i% システム変数の使用

プロセスを入力リストに対して実行するモデルでは、プロセスの各実行で出力の名前が前の実行時の名前と同じになり、前の出力が上書きされます。反復処理で前の出力が上書きされるのを避けるには、出力の名前に %i% を付加して、各出力に入力リストにおける位置を示す一意の名前を付けます。

%i% の使用

インライン変数置換での %n% システム変数の使用

%n% は、現在のモデルの反復回数を表し、モデルを反復処理するときに使用されます。次の例では、[For] イテレータを使用してモデルを 4 回反復処理しています。[バッファ(Buffer)] ツールの出力は、ツールへのフィードバックとして入力に使用されています。モデルは反復処理を行い、各反復で新しい出力を作成します。[バッファ(Buffer)] ツールの出力名に %n% を使用して、各反復の出力に新しい名前を付けています。

%n% の使用

注意注意:

モデル パラメータの出力名に %n% を使用していて、モデルを ArcMap または ArcCatalog でツールのダイアログ ボックスから実行する場合は、%n% がアプリケーションの反復回数で置換されます。アプリケーションの反復回数 %n% は 0 であるため、1 回目の反復処理の後、モデル ツールは「ERROR 000622: (ツール)を実行できませんでした。パラメータが不正です。」というエラー メッセージを出力して失敗します。この場合は、変数をモデル パラメータに設定しないように変更するか、出力名から %n% を削除します。

関連項目


7/10/2012