Skip to main content

Примеры использования Логических инструментов в ModelBuilder

Инструмент Если данные существуют

В следующем примере используется инструмент Если данные существуют, который проверяет, существуют ли входные объекты, указанные в параметре модели. Инструмент Если данные существуютвыводит две Булевы переменные, True и False. Если данные есть, выходная переменная будет True, и предварительное условие, установленное для значения true, соответственно запускает инструмент Вычислить поле. Если выходная переменная False имеет значение true (то есть данные не существуют), в модель создает копию другого набора данных и запускает инструмент Вычислить поле, использующий в качестве входного другой набор данных.

Если данные существуют в ModelBuilder

Инструмент Если поле существует

В следующем примере используется инструмент Если поле существует, для проверки наличия поля с указанными именем в наборе данных. Инструмент Если поле существуетвыводит две Булевы переменные, True и False. Если поле не существует во входном наборе данных, выходной переменной False и предварительному условию присваивается значение true, что позволяет инструменту Добавить поле работать. Если же выходная переменная ­ True ­ то есть поле существует - модель заканчивается, так как к ветви True не подсоединены другие процессы.

Инструмент Если поле существует в ModelBuilder

Инструмент Если выборка существует

В следующем примере используется инструмент Если выборка существует для проверки того, содержат ли входные данные какие-либо выбранные объекты, и если да – возвращает число выбранных объектов. Если выборка существует используется после запуска инструмента Выбрать в слое по атрибуту. Инструмент Если выборка существуетвыводит две Булевы переменные, True и False. Если входные данные содержат выбранные объекты, выходная переменная True и предварительное условие устанавливаются в значение true, что позволяет инструменту Суммарная статистика работать. Если же выходная переменная ­ False ­ то есть выбранных объектов нет - модель заканчивается, так как к ветви False не подсоединены другие процессы.

Инструмент Если выборка существует в ModelBuilder

Инструмент Если система координат соответствует

В следующем примере используется инструмент Если система координат является в ModelBuilder, чтобы проверить, имеет ли набор данных определенную систему координат. Инструмент Если система координат выводит две Булевы переменные, True и False. Эта модель итерирует классы объектов в базе геоданных и проверяет для каждого класса объектов соответствие ли система координат класса определенной, указанной в функции. Если пространственная привязка каждого класса объектов не соответствует указанной, возвращается значение False и предварительное условие, установленное на true, запускает инструмент Проецировать. Если выходная переменная True принимает значение true (то есть входной набор данных имеет заданную систему координат), модель завершается, поскольку к ветви True не подключены инструменты.

Инструмент Если система координат в ModelBuilder

Инструмент Если тип данных

В следующем примере используется инструмент Если тип данных для проверки, который проверяет, соответствует ли тип данных входному набору. Инструмент Если тип данных выводит две Булевы переменные, True и False. Модель проверяет, являются ли входные данные, указанные в параметре модели, шейп-файлом или классом объектов, и обрабатывает данные соответственно. Если входные данные представляют собой шейп-файл, выходная переменная True и предварительное условие заданы как true, позволяя нижней ветви нескольких инструментов Добавить поле и Вычислить поле запуститься. Если же выходная переменная – False – то есть входные данные не в формате шейп-файла, модель пойдет по верхней ветви.

Инструмент Если тип данных в ModelBuilder

Инструмент Если выражение является

Многие коммерческие организации обязали носить маски для защиты от COVID-19. В следующем примере используется инструмент Если выражение является для поиска коммерческих организаций с установленной политикой в отношении масок или без нее. Эта модель имеет входной параметр Маска, и на основе его значения модель выбирает конкретные данные для анализа. Инструмент Если выражение является выводит две Булевы переменные, True и False. Параметр Выражение использует подстановку встроенной переменной и проверяет значение Маски. Если параметр Маска установлен в значение "Yes", выходная переменная True и предварительное условие устанавливаются в значение true, что позволяет подключенному инструменту Выбрать слой по атрибуту выбирать только те бизнес-объекты, которые имеют обязательные маски. Если значение параметра Маска установлено как любое другое значение, выходная переменная будет False, и предварительное условие, установленное для значения false, позволит подключенному инструменту Выбрать в слое по атрибуту выбрать коммерческие организации, в которых нет политики в отношении использования масок.

Инструмент Если выражение является в ModelBuilder

Инструмент Если тип объекта

В следующем примере используется инструмент Если тип объекта, который проверяет, является ли указанный набор данных классом точечных объектов. Инструмент Добавить положения воспринимает в качестве входных объектов только точки, то есть если в качестве входного в модель добавлен не точечный класс объектов, сначала он будет конвертирован в класс точечных объектов. Инструмент Если тип объекта выводит две Булевы переменные, True и False. Если входные объекты – линии или полигоны, выходная переменная будет True, и предварительное условие, установленное для значения true, запустит инструмент Объект в точки для конвертации входного класса объектов в точечный. Если выходная переменная False имеет значение true (то есть входные объекты не являются полигонами или линиями), модель использует входные объекты как есть без предварительного преобразования их в точки.

Эта модель также использует логический инструмент Слияние ветвей, чтобы ветви True и False соединились, и последующие инструменты выполнялись независимо от ветви.

Инструмент Если тип объекта в ModelBuilder

Инструмент Если значение поля равно

В следующем примере показано использование инструмента Если значение поля равно для проверки, содержится ли указанное значение в атрибутивном поле. Инструмент Если значение поля равно выводит две Булевы переменные, True и False. Если указанное поле имеет тестовое значение, выходная переменная True и предварительное условие устанавливаются в значение true, что позволяет инструменту Применить символы из слоя работать. Если указанное поле не содержит проверяемое значение, выходная переменная будет False и запустится инструмент Добавить соединение перед тем, как применять символы.

Инструмент Если значение поля равно в ModelBuilder

Инструмент Если число строк равно

В следующем примере используется функция Если число строк равно для подсчета числа записей во входном наборе данных. Инструмент Если число строк равно выводит две Булевы переменные, True и False. Если входной набор данных содержит более одного объекта, выходная переменная True и предварительное условие устанавливаются в значение true, что позволяет инструменту Слияние по атрибуту работать. Если во входном наборе не содержится более одного объекта, выходная переменная будет False, и в результате запустится нижняя ветвь модели.

Инструмент Если число строк равно в ModelBuilder

Инструмент Если пространственное отношение

В следующем примере используется инструмент Если пространственное отношение в ModelBuilder для проверки того, имеет ли слой объекты, которые находятся в пространственных отношениях с объектами другого слоя. Логический инструмент Если пространственное отношениевыводит две Булевы переменные, True и False. В этом примере, если какие-либо данные о преступности пересекаются со школьным округом, выходная переменная True и предварительное условие устанавливаются в значение true, что позволяет инструментам Создать векторный слой и Выбрать слой по расположению работать. Если же выходная переменная ­ False ­ то есть ни один из входных объектов не находится в пространственных отношениях с выбранными объектами - модель заканчивается, так как к ветви False не подсоединены другие процессы.

Инструмент Если пространственное отношение в ModelBuilder

Инструмент Если значение является

В следующем примере используется инструмент Если значение является для поиска доступного жилья из текущих списков объектов недвижимости. Модель имеет три входных параметра, которые позволяют потенциальным покупателям указывать значения для Тип недвижимости, Максимальная цена и логического выбора Вы готовы изменить цену?. Логический инструмент Если значение равно проявит ли потенциальный покупатель гибкость с выбранными значениями. Инструмент Если значение равно выводит две Булевы переменные, True и False. Если покупатель готов проявить гибкость, переменная True и предварительное условие устанавливаются в значение true, позволяя инструменту Выбрать в слое по атрибуту добавить буфер в 100000 долларов США к указанной цене, прежде чем выбрать все дома из доступных объявлений о продаже домов. Если покупатель не проявляет гибкость, параметр False и предварительное условие устанавливаются в значение true, позволяя второму инструменту Выбрать в слое по атрибуту выбрать только те дома, которые находятся в ценовом диапазоне, указанном покупателем.

Инструмент Если значение равно в ModelBuilder