Переменная, содержащая одно или несколько значений, называется переменной списка. В модели можно объявить одну или несколько переменных в качестве переменной списка. Чтобы сделать переменную списком, выполните следующие действия.
- Правой кнопкой мыши щёлкните на переменной.
- Щелкните Свойства.
Откроется диалоговое окно Входные свойства.
- На вкладке Общие, под пунктом Эта переменная содержит, щелкните Список значений.
При открытии переменной списка отображается таблица пакетной обработки, где можно ввести значения переменной. После присоединения переменной списка к инструменту этот инструмент и все процессы нижнего уровня (процессы, зависящие от вывода инструмента) будут выполнены однократно для каждого значения в списке. Использование списков эквивалентно использованию пакетного режима обработки, за исключением того, что не нужно указывать значения для других однозначных переменных модели. Прежде чем работать с переменными списка, нужно ознакомиться с использованием таблицы пакетной обработки.
Пример
В качестве примера, демонстрирующего обработку списка, используется простая модель Вырезание и Буфер.
В данном примере переменная Входной объект была сделана списком. В результате того что переменная Входной объект стала переменной списка, переменные Выходной вырезанный объект и Выходной объект буфера автоматически становятся переменными списка, поскольку они зависят от переменной Входной объект. В приведенном ниже примере открыт инструмент Вырезать и добавлены три входных класса вырезающих объектов. Параметры Вырезающие объекты и Допуск XY недоступны для всех ячеек, кроме первой. Это связано с тем, что переменная Вырезание области изучения не является списком и для параметра Допуск XY нет переменной. Значение первой ячейки будет использоваться для всех трех входных элементов.
Теперь модель готова к запуску в ModelBuilder. Модель будет выполнена для каждого входного элемента, содержащегося в переменной-списке Входной объект.
Использование подстановки встроенной переменной и функции заполнения в списках
При создании выходной переменной списка в модели можно использовать %i% в качестве подстановки встроенной переменной в выходном имени. Использование в конце выходного имени вместо %i% добавляется номер по списку. В случае множества входных элементов определение уникального выходного имени для каждого выходного элемента в таблице пакетной обработки может быть утомительно; вместо этого можно использовать функцию заполнения и подстановку встроенной переменной, как показано на рисунке ниже:
- Дважды щёлкните кнопкой мыши и откройте диалоговое окно инструмента Вырезание.
- Заполните поля Входные объекты и Вырезающие объекты.
- В группе Выходной класс объектов щёлкните на первой ячейке, определите путь выходного элемента и используйте %i% в имени, как показано на рисунке выше.
- Определив путь и имя первой ячейки, правой кнопкой мыши щёлкните в ячейке и щёлкните на Заполнение, как показано цифрой 2 на рисунке.