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

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

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

ModelBuilder поддерживает замещение встроенной переменной в следующем формате:

  • Переменные модели - вы можете использовать в модели любую переменную.
  • Системные переменные - переменная %n% может использоваться в повторяющемся рабочем процессе как счетчик итераций в модели. Переменная %t% ссылается при генерации выходных данных на время в формате YYYYMMDDHHMMSS.
  • Параметры среды рабочей области - чтобы упростить управление данными модели, в ModelBuilder можно использовать четыре параметра среды рабочей области (%scratchGDB%, %scratchFolder%, %workspace% и %scratchWorkspace%).

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

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

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

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

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

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

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

Замена переменной модели поможет вам передавать введенные пользователем непосредственно в инструмент значения внутрь модели. К примеру, на модели, показанной ниже, Suffix – параметр модели, который указывается при запуске модели на панели Геообработка. Эта переменная используется в параметре Выражение инструмента Выбрать в слое по атрибуту как RoadLabel LIKE '%\%Suffix\%' ESCAPE '\'. Когда инструмент запущен, то выражение работает так же, как RoadLabel LIKE '%ST', где встроенная переменная Suffix заменена на значение ST, будут выбраны только дороги, чьи надписи заканчиваются на ST.

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

Во втором примере, замещение переменной используется для передачи значений параметрам инструмента Вычислить поле. Показанная ниже модель содержит две переменные, Поле класса и Значение.Поле класса со значением класса используется как параметр Имя поля. Переменная Значение со значением Forest используется как параметр Выражение. Когда запускается инструмент Вычислить поле, поле Класс получает значение Forest, которое сохраняется в переменной Значение.

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

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

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

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

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

Замещение переменных с расширением файла

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

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

ModelBuilder содержит системные переменные, которые можно использовать в модели для представления итерации (%n%) и времени (%t%) текущей модели.

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

Пример встроенной переменной %n%

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

Пример встроенной переменной %t%

Прежние версии:

Переменная %i% работает сходным образом с %n%. Она разработана для ArcMap, не рекомендуется использовать ее в ArcGIS Pro.

Среда рабочей области

Можно использовать четыре параметра среды рабочей области в ModelBuilder для упрощения управления данными в модели. Можно использовать параметра среды рабочей области в параметрах модели и запускать модели с панели Геообработка.

Параметр средыИспользованиеМестоположениеРекомендованное использование

Временная база геоданных

%scratchGDB%

Папка проекта\scratch.gdb

Промежуточные выходные данные

Временная папка

%scratchFolder%

Папка проекта\scratch

Файловые промежуточные выходные данные

Текущая рабочая область

%workspace%

Текущая рабочая область (параметр среды)

Входные и выходные данные инструмента геообработки

Временная рабочая область

%scratchWorkspace%

Временная рабочая область (параметр среды)

Промежуточные выходные данные

Например, если выходные данные инструмента указаны как %scratchGDB%\CopyToScratchGDB, создается база геоданных scratch.gdb, если она еще не создана, а выходные данные CopyToScratchGDB создаются во Временной базе геоданных, заданной в параметрах среды.

Пример встроенной переменной %scratchGDB%

В примере ниже, если выходные данные инструмента заданы как %workspace%\CopyToWorkspace, выходные данные CopyToWorkspace задаются в местоположении параметра среды Текущая рабочая область.

Пример встроенной переменной %workspace%