Замена встроенной переменной

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

Например, если у вас есть переменная Name, имеющая значение Wilson, вы можете создать путь к набор данных C:\Data\Output.gdb\Clipped_%Name%, который будет выглядеть следующим образом: C:\Data\Output.gdb\Clipped_Wilson.

Подстановку встроенной переменной можно выполнить, используя любую из переменных модели или системных переменных.

  • Переменные модели – Любые переменные модели.
  • Системная переменная – ModelBuilder содержит встроенную системную переменную, n, применимую для рабочих процессов, которые используют итерации. %n% - это номер итерации в модели.

Замена переменной модели

На показанной ниже модели переменная рабочей области Рабочая область данных имеет значение C:\Data.gdb. Это расположение рабочей области подставляется в качестве встроенной переменной в параметрах инструмента Проецировать путем заключения имени переменной в символы процента. Во время запуска текущее значение переменной C:\Data.gdb будет заменено на %Data Workspace%.

встроенная переменная рабочей области данных

Итераторы С (With)

Использование замены переменной модели особенно полезно при работе с итераторами ModelBuilder. При запуске итератора Итерировать классы объектов, он создает выходную переменную как для пути, так и для имени каждого класса объектов в рабочей области. Значение переменной Name можно использовать для создания пути к выходному Проецированному классу объектов. При выполнении инструмента %Name% заменяется именем класса объектов.

Выходные данные итератора как встроенная переменная

Пользовательский ввод в инструмент модели

Замена переменной модели поможет вам передавать введенные пользователем непосредственно в инструмент значения внутрь модели. К примеру, на модели, показанной ниже, Parcel ID – параметр модели, который указывается при запуске модели на панели Геообработка. Эта переменная используется в параметре Выражение инструмента Выбрать в слое по атрибуту как "Parcel" = '%Parcel ID%'. При запуске инструмента %Parcel ID% в выражении заменяется значением parcel ID (9 в приведенном ниже случае), – и будут выбраны только участки, имеющие ID, равный 9.

Использование встроенной переменной в инструменте Выбрать в слое по атрибуту
Примечание:
В данном примере переменная Parcel ID представлена строкой. Встроенные переменные, представленные строкой, в выражении должны быть заключены в кавычки ('%string variable%'). Встроенные переменные, представленные числительными, в кавычки не заключаются

Использование с инструментом Вычислить значение

Вычислить значение – мощная утилита ModelBuilder, позволяющая вычислять значение на основе любого выражения Python и использовать это значение в модели. Можно использовать замену переменной для передачи значений из переменных модели в выражение Python Вычислить значение Python либо использовать имя выходной переменной, хранящей значение, в другом инструменте модели.

Показанная ниже модель содержит две числовых переменных: Число жителей (Number of Residents) и Отходы на человека в год (Waste Per Person Per Year). Эти переменные используются в инструменте Вычислить значение (Calculate Value) путем заключения их в символы процента. При запуске инструмента Вычислить значение имена переменных будут заменены их значениями и перемножены, чтобы получить значение Общих отходов в год (Total Waste Per Year).

Использование встроенной переменной в инструменте Вычислить значение

Подстановка значений с расширениями файлов

Если переменная указывает на файл с расширением, например, elevation.tif, и эта переменная должна быть включена в итоговый путь с помощью подстановки встроенной переменной, результат будет ошибочно включать расширение .tif в выходное имя. В таких случаях следует использовать инструмент Анализировать путь, чтобы получить значение только имени: elevation. Результатом работы инструмента Анализировать путь является переменная Имя, которую затем можно использовать как подстановку встроенной переменной для следующего инструмента.

Замена системной переменной

ModelBuilder содержит встроенную системную переменную, применимую для рабочих процессов, которые используют итерации. Эта переменная – %n% – работает с итерацией модели (первая итерация – ноль), если в модели имеется итератор.

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

Использование %n%