Проверка действий шага

Вы можете использовать проверку шага для подтверждения, что пользователь задачи отредактировал, создал или выбрал в этом шаге требующееся число объектов. Проверка шага также может проверить соответствие атрибутов и геометрии объекта указанным условиям.

Добавление действий проверки к шагу может предотвратить сбой выполнения задачи. Например, если в задании используется инструмент Слияние для слияния объектов и присвоения им атрибутов, вы можете использовать проверку шага для подтверждения следующего:

  • Прежде чем в шаге будет запущен инструмент Слияние, проверьте, что выделено два или более объектов.
  • После завершения работы инструмента Слияние, убедитесь, что слияние выполнено успешно, проверив, что выделен только один объект.
  • Для следующего шага, убедитесь, что по завершении шага выделенный объект получил корректные атрибутивные значения.

Вы можете настроить действия проверки шага до того, как шаг выполнит команду и когда шаг завершится. См. примеры ниже:

  • Перед тем, как в шаге будет выполнен инструмент геообработки, проверка шага позволит убедиться, что выбраны нужные объекты.
  • Прежде чем шаг завершится и будет выполнен переход к следующему, проверка шага позволит убедиться, что было создано требующее количество объектов с правильными атрибутами.

Типы выражений проверки шага

Вы можете использовать Structured Query Language (SQL) или Arcade, чтобы создать выражение для проверки шага.

Structured Query Language (SQL)

Выражения 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 не хранятся как часть схемы базы данных. Их можно создавать независимо от данных.
  • Выражения могут быть более сложными в виде многострочных скриптов.

Более подробно о выражениях Arcade

Добавление проверки шага

Чтобы добавить действия по проверке шага, выполните следующие действия:

  1. На панели Задачи разверните задачу и выберите настраиваемый шаг.
  2. Перейдите на вкладку Действия на панели Дизайнер задач.
  3. Щелкните ниспадающее меню Добавить действие, в разделе Перед выполнением команды или При выходе из шага и выберите Проверка.
    Подсказка:

    Можно настроить несколько проверок для одного шага.

  4. Выберите объекты для проверки из ниспадающего списка Проверить количество объектов или записей в.

    Объекты также можно проверить по сохраненной выборке.

  5. Выберите атрибутивную таблицу объектов для проверки в ниспадающем списке в таблице.
  6. Выберите тип выражения в ниспадающем списке Тип выражения.

    Вы можете использовать SQL или Arcade для создания проверочных выражений.

  7. Если вы используете SQL, выполните следующие шаги:
    1. Выберите проверку условий из ниспадающего списка удовлетворяет условиям.
    2. Выберите, применять ли фильтр к атрибутам или к объектам, щелкнув Фильтровать выборку при помощи выражения.

      Вы можете использовать выражение фильтра, чтобы убедиться, что проверяемые атрибуты объектов удовлетворяют заданным условиям. Например, проверьте, что поле AssetNumber у выделенных объектов Building Footprint не является нулевым.

    3. Введи те сообщение об ошибке, отображающееся когда условия проверки не выполняются, в разделе Не продолжать шаг и отобразить это сообщение об ошибке.
    4. Щелкните Готово, чтобы добавить действие проверки.
  8. Если вы используете Arcade, выполните следующие шаги:
    1. Используйте поля класса пространственных объектов и функции Arcade для построения выражения оценки.

      Выражения должны возвращать true или false.

      Например, следующее выражение Arcade возвращает true, если поле Name оцениваемого объекта не равно null: Return !IsEmpty($feature.Name.

    2. Введите сообщение об ошибке, которое будет отображаться, когда выражение Arcade вернет false, в разделе Предохранить шаг от выполнения и показать это сообщение об ошибке.
    3. Щелкните Готово, чтобы добавить действие проверки.