Переменная, содержащая одно или несколько значений, называется списком переменных. В модели можно объявить одну или несколько переменных в качестве списка переменных. Чтобы сделать переменную списком, выполните следующие действия.
- Правой кнопкой мыши щёлкните на переменной.
- Щёлкните на Свойства (Properties).
- Щёлкните на Список значений (A list of values), как показано на рисунке ниже:
При открытии списка переменных отображается таблица пакетной обработки, где можно ввести значения переменной. После присоединения переменной-списка к инструменту этот инструмент и все процессы нижнего уровня (процессы, зависящие от вывода инструмента) будут выполнены однократно для каждого значения в списке. Использование списков эквивалентно использованию пакетного режима обработки, за исключением того, что не нужно указывать значения для других однозначных переменных модели. Прежде чем работать с переменными-списками, нужно ознакомиться с использованием таблицы пакетной обработки.
Пример использования переменной-списка
В качестве примера, демонстрирующего обработку списка, используется простая модель Вырезание (Clip) и Буфер (Buffer).
В данном примере переменная Входной объект (Input Feature) была сделана списком. В результате того, что переменная Входной объект (Input Feature) стала переменной-списком, переменные Выходной вырезанный объект (Output Clipped Feature) и Выходной объект буфера (Output Buffer Feature) автоматически становятся переменными-списками, поскольку они зависят от переменной Входной объект (Input Feature). В приведенном ниже примере открыт инструмент Вырезать (Clip) и добавлены три входных класса вырезающих объектов. Параметры Вырезающие объекты (Clip Features) и Допуск XY (XY Tolerance) недоступны для всех ячеек, кроме первой. Это связано с тем, что переменная Вырезание области изучения (Study Area Clip) не является списком и для параметра Допуск XY (XY Tolerance) нет переменной. Значение первой ячейки будет использоваться для всех трех входных элементов.
Теперь модель готова к прогону в ModelBuilder. Модель будет выполнена для каждого входного элемента, содержащегося в переменной-списке Входной объект (Input Feature).
Использование подстановки встроенной переменной и функции заполнения в списках
При создании выходной переменной-списка в модели можно использовать %i% в качестве подстановки встроенной переменной в выходном имени. В конце выходного имени вместо %i% добавляется номер по списку. В случае множества входных элементов определение уникального выходного имени для каждого выходного элемента в таблице пакетной обработки может быть утомительно; вместо этого можно использовать функцию заполнения и подстановку встроенной переменной, как показано на рисунке ниже:
- Дважды щёлкните кнопкой мыши и откройте диалоговое окно инструмента Вырезать (Clip).
- Заполните поля Входные объекты (Input Features) и Вырезающие объекты (Clip Features).
- В группе Выходной класс объектов (Output Feature Class) щёлкните на первой ячейке, определите путь выходного элемента и используйте %i% в имени, как показано на рисунке выше.
- Определив путь и имя первой ячейки, правой кнопкой мыши щёлкните в ячейке и щёлкните на Заполнение (Fill), как показано цифрой 2 на рисунке.