Вы можете использовать проверку шага для подтверждения, что пользователь задачи отредактировал, создал или выбрал в этом шаге требующееся число объектов. Проверка шага также может проверить соответствие атрибутов и геометрии объекта указанным условиям.
Добавление действий проверки к шагу может предотвратить сбой выполнения задачи. Например, если в задании используется инструмент Слияние для слияния объектов и присвоения им атрибутов, вы можете использовать проверку шага для подтверждения следующего:
- Прежде чем в шаге будет запущен инструмент Слияние, проверьте, что выделено два или более объектов.
- После завершения работы инструмента Слияние, убедитесь, что слияние выполнено успешно, проверив, что выделен только один объект.
- Для следующего шага, убедитесь, что по завершении шага выделенный объект получил корректные атрибутивные значения.
Вы можете настроить действия проверки шага до того, как шаг выполнит команду и когда шаг завершится. См. примеры ниже:
- Перед тем, как в шаге будет выполнен инструмент геообработки, проверка шага позволит убедиться, что выбраны нужные объекты.
- Прежде чем шаг завершится и будет выполнен переход к следующему, проверка шага позволит убедиться, что было создано требующее количество объектов с правильными атрибутами.
Типы выражений проверки шага
Вы можете использовать Structured Query Language (SQL) или Arcade, чтобы создать выражение для проверки шага.
Structured Query Language (SQL)
Выражения SQL используют комбинации операторов и математических функций для запроса атрибутов и оценки логических операторов.
Пошаговая проверка с использованием выражения SQL запрашивает, соответствует ли количество объектов или записей, созданных, измененных или выбранных на шаге, указанному условию. Например, выражение проверки SQL может запрашивать и проверять, что количество объектов, созданных на шаге, больше указанного числа.
Если выражение проверки шага не соответствует указанному условию, может отображаться сообщение об ошибке, и задача не перейдет к следующему шагу.
Arcade
В выражениях Arcade используются многострочные сценарии, содержащие операторы, математические функции и пространственные запросы для создания более сложных оценок. Выражения Arcade могут как запрашивать данные, так и оценивать пространственные и топологические отношения между объектами. Например, выражение для проверки шага Arcade может подтвердить, что геометрия новых объектов, созданных на этом этапе, не пересекается с геометрией других объектов.
Выражения проверки Arcade должны возвращать true или false. Выражения должны возвращать true, если все условия в выражении были выполнены, и false, если хотя бы одно условие в выражении не было выполнено. Если выражение шага возвращает false, может отображаться сообщение об ошибке, и задача не перейдет к следующему шагу.
Выражения проверки Arcade должны использовать профиль задач Arcade. Профиль Arcade является контекстом, в котором распознается и оценивается выражение Arcade. В профиле Arcade ожидаются определенные входные и выходные данные. Например, профиль задач Arcade всегда возвращает Булево значение (true или false).
Преимущества использования выражений Arcade
Выражения Arcade имеют следующие преимущества перед выражениями SQL:
- Выражения Arcade могут запрашивать и оценивать как атрибуты, так и пространственные отношения пространственных объектов.
- Выражения Arcade не хранятся как часть схемы базы данных. Их можно создавать независимо от данных.
- Выражения могут быть более сложными в виде многострочных скриптов.
Добавление проверки шага
Чтобы добавить действия по проверке шага, выполните следующие действия:
- На панели Задачи разверните задачу и выберите настраиваемый шаг.
- Перейдите на вкладку Действия на панели Дизайнер задач.
- Щелкните ниспадающее меню Добавить действие, в разделе Перед выполнением команды или При выходе из шага и выберите Проверка.
Подсказка:
Можно настроить несколько проверок для одного шага.
- Выберите объекты для проверки из ниспадающего списка Проверить количество объектов или записей в.
Объекты также можно проверить по сохраненной выборке.
- Выберите атрибутивную таблицу объектов для проверки в ниспадающем списке в таблице.
- Выберите тип выражения в ниспадающем списке Тип выражения.
Вы можете использовать SQL или Arcade для создания проверочных выражений.
- Если вы используете SQL, выполните следующие шаги:
- Выберите проверку условий из ниспадающего списка удовлетворяет условиям.
- Выберите, применять ли фильтр к атрибутам или к объектам, щелкнув Фильтровать выборку при помощи выражения.
Вы можете использовать выражение фильтра, чтобы убедиться, что проверяемые атрибуты объектов удовлетворяют заданным условиям. Например, проверьте, что поле AssetNumber у выделенных объектов Building Footprint не является нулевым.
- Введи те сообщение об ошибке, отображающееся когда условия проверки не выполняются, в разделе Не продолжать шаг и отобразить это сообщение об ошибке.
- Щелкните Готово, чтобы добавить действие проверки.
- Если вы используете Arcade, выполните следующие шаги:
- Используйте поля класса пространственных объектов и функции Arcade для построения выражения оценки.
Выражения должны возвращать true или false.
Например, следующее выражение Arcade возвращает true, если поле Name оцениваемого объекта не равно null: Return !IsEmpty($feature.Name.
- Введите сообщение об ошибке, которое будет отображаться, когда выражение Arcade вернет false, в разделе Предохранить шаг от выполнения и показать это сообщение об ошибке.
- Щелкните Готово, чтобы добавить действие проверки.
- Используйте поля класса пространственных объектов и функции Arcade для построения выражения оценки.