Примеры подстановки встроенных переменных модели
Любая переменная в модели может использоваться для подстановки. Для этого ее имя следует заключить в символы процента (%имя переменной%). В этом разделе приведены примеры использования подстановки встроенной переменной в ModelBuilder.
Пример 1
В приведенной далее модели переменная рабочей области, Data Workspace, имеет значение C:\Data.gdb. Это расположение рабочей области подставляется в качестве встроенной переменной в параметрах инструмента Проецировать (Project) путем заключения имени переменной в символы процента. Во время работы фактическое значение переменной, C:\Data.gdb, подставляется вместо %Data Workspace%.
Пример 2
При выполнении итератор Итерировать классы объектов (Iterate Feature Classes) создает выходную переменную как для пути к классу объектов, так и для имени класса объектов. С помощью значения переменной Имя (Name) можно построить путь к классу проецируемых объектов (Projected Feature Class). При работе инструмента %Name% будет заменено на имя класса объектов.
Пример 3
Parcel ID ― это параметр модели, который задается при выполнении инструмента модели. Эта переменная используется в параметре Выражение (Expression) инструмента Выбрать в слое по атрибуту (Select Layer By Attribute) в виде "Parcel" = '%Parcel ID%'. При работе инструмента %Parcel ID% заменяется на идентификатор участка (в приведенном ниже примере 9), в результате чего выбираются только участки с идентификатором 9.
- В этом примере переменная Parcel ID является строковым типом данных. Встроенные переменные строкового типа в выражении должны быть заключены в кавычки ('%string variable%'). Встроенные переменные числовых типов (double, long) не требуют кавычек (%double%).
Нажатие кнопки Проверить (Verify) для запроса SQL с подстановкой встроенной переменной в Конструктор запросов (Query Builder), для инструментов подобных Создать векторный слой (Make Feature Layer), Выбрать (Select), и Выбрать в слое по атрибуту (Select Layer By Attribute), приведет вас к ошибке некорректного запроса SQL, поскольку проверка не подставляет значение встроенной переменной при тестировании выражения. При запуске инструмента значение встроенной переменной подставляется в выражение, и результат создается на основе подставленных значений.
Пример 4
В этой модели имеется две переменные: Число жителей (Number of Residents) и Отходов на человека в год (Waste Per Person Per Year). Эти переменные используются в инструменте Вычислить значение (Calculate Value) путем заключения их в символы процента. При работе инструмента Вычислить значение (Calculate Value) вместо имен переменных будут подставлены заданные им значения, которые будут перемножены, чтобы вычислить значение Общий объем отходов в год (Total Waste Per Year).
Пример 5
Miles to Meter ― это переменная в модели, содержащей коэффициент преобразования, который обозначает количество метров в одной миле (1609,344). Во вводе имеется поле расстояния со значениями в милях. Инструмент Вычислить поле (Calculate Field) берет значения из поля расстояния (в милях) и умножает их на коэффициент преобразования, выдавая расстояние в метрах. Выражение инструмента Вычислить поле (Calculate Field): Miles * %Miles to Meter%. При выполнении инструмента %Miles to Meter% заменяется на 1609,344.
Пример 6
В приведенном далее примере показано неправильное использование подстановки встроенной переменной в модели и способ устранения проблемы.
Переменная Input содержит значение C:\ToolData\Road.shp. Если указать ее для подстановки в выходном имени в виде C:\Scratch\%Input%, инструмент сформирует сообщение об ошибке. Эта ошибка возникнет из-за того, что переменная Input содержит путь, имя и расширение базы данных, в результате чего подставлено будет значение C:\Scratch\C:\ToolData\Road.shp – недопустимый путь. Чтобы исправить это положение, воспользуйтесь инструментом Анализировать путь (Parse Path), чтобы разбить полный путь на компоненты, а затем используйте имя базы данных (содержащееся в переменной Name) для подстановки.