Примеры подстановки встроенных переменных с использованием системных переменных ModelBuilder

В ModelBuilder предоставляются встроенные системные переменные, которые могут быть использованы в рабочих потоках итерации. В следующих двух системных переменных содержатся текущий номер итерации и текущий индекс списка: %i% ссылается на текущую позицию в списке в переменной списка (первая позиция: 0); %n% ссылается на итерацию текущей модели (первая итерация: 0).

Использование системной переменной %i% совместно с подстановкой встроенной переменной

Для моделей, выполняющих процесс для списка входных данных, при каждом запуске процесса выходные данные будут иметь то же имя, что и выходные данные при предыдущем запуске процесса; при этом предыдущие выходные данные будут перезаписаны. Чтобы избежать перезаписи существующих выходных данных, присоедините к имени выходных данных системную переменную %i%, что позволит получить уникальное имя, с идентификатором очередности в списке для каждого набора выходные данных.

Использование системной переменной %i%

Использование системной переменной %n% совместно с подстановкой встроенной переменной

Системная переменная%n% сообщает текущий номер итерации модели; он используется в итерационной модели. В приведенном ниже примере итератор For используется для итерации по модели четыре раза. Выходные данные инструмента Буфер (Buffer) используются для обратной связи как входные данные инструмента. Модель выполняет итерации и создает новые выходные данные для каждой итерации. Системная переменная %n% используется в имени выходных данных инструмента Буфер (Buffer), чтобы задать новое имя выходным данным от каждой итерации.

Использование системной переменной %n%

ВниманиеВнимание:

Если системная переменная %n% используется в имени выходных данных параметра модели, а модель запущена из диалогового окна ее инструмента в ArcMap или ArcCatalog, то вместо %n% будет подставляться номер итерации приложения. Поскольку номер итерации %n% приложения равен 0, инструмент модели завершит работу с ошибкой после одной итерации, выведя сообщение об ошибке «ERROR 000622: Не удалось запустить (инструмент). Параметры некорректны.» В этом случает необходимо либо изменить переменную, чтобы она перестала быть параметром модели, либо убрать %n% из имени выходных данных.

Связанные темы

9/11/2013