Выражение Arcade

ArcGIS Arcade может использоваться для вычисления полей в записях, захваченных с помощью QuickCapture. Автор проекта может написать выражение, использующее функции Arcade, операторы и значения записей.

Профиль Arcade QuickCapture включает следующие переменные, которые можно использовать для возврата значений записей:

  • $feature - атрибуты текущей записи.
  • $layer - объекты в том же слое, что и текущая запись
  • $datastore - слои в том же сервисе объектов или базе данных, что и текущая запись
  • $map - коллекция векторных слоев в веб-карте, которая используется проектом QuickCapture

Более подробно см. Переменные профиля QuickCapture.

По умолчанию веб-карта проекта не включает слои проекта, поэтому, чтобы иметь возможность использовать выражения, ссылающиеся на слои по названию, например var layername = FeatureSetByName($map, "layer_name"), необходимо либо выбрать опцию создания веб-карты при настройке проекта QuickCapture, либо заменить веб-карту по умолчанию, на карту, содержащую все слои, необходимые для выражения. Более подробную информацию см. в разделе Настройка карты проекта.

Примечание:

Если вы планируете использовать выражения Arcade в своем проекте, проверьте слои проекта и веб-карту на наличие типов полей DateOnly, TimeOnly, TimestampOffset или BigInteger. Необходимо создать представление размещенного векторного слоя, исключающее эти поля, и вместо этого использовать представление слоя в проекте. Эти типы полей не поддерживаются версией Arcade (1.18), используемой мобильным приложением QuickCapture.

Ниже приведены примеры использования, которые могут быть сконструированы в виде выражения Arcade:

  • Вычислить значение на основе значений, поступающих из другого поля
  • Выполните запрос точки в полигоне, чтобы вернуть значение атрибута
  • Используйте функцию для вычисления длительности захваченной полилинии

Конструктор QuickCapture включает в себя конструктор выражений, помогающий авторам писать выражения, и использует профиль QuickCapture. Аналогично тому, как пользовательские вводные данные определяются один раз и могут использоваться более чем в одной кнопке, как только выражение Arcade сохранено в конструкторе, оно может быть назначено более чем одной кнопке.

Выражения Arcade могут настраиваться автором проекта на вкладке Данные для каждого поля. Чтобы назначить выражение Arcade для захвата поля кнопкой, на вкладке Данные в раскрывающемся меню поля захвата выберите Выражение Arcade, а затем Создать новое.

Выберите выражение Arcade или создайте новое

Поля, управляемые ArcGIS, такие как OBJECTID, GlobalID, CreationDate, Creator, EditDate и Editor, не должны использоваться в выражении, поскольку их значения неизвестны до тех пор, пока запись не будет отправлена. Если для выражения требуется значение для имени пользователя или даты захвата записи, выражение должно ссылаться на поле, которое было заполнено с помощью переменной устройства.

Примечание:

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