Рекомендации для выражений Arcade

Некоторые приложения ArcGIS Arcade лучше подходят для конкретных случаев использования, чем другие. Ниже приведены некоторые из рекомендуемых передовых методов использования выражений Arcade в аналитических инструментах ArcGIS Velocity:

  • Сложность выражения - Хотя Arcade позволяет писать сложные скрипты, объявлять переменные, определять и вызывать функции, при построении скриптов Arcade в Velocity рекомендуется сохранять их как можно более простыми. Сложные скрипты, как правило, больше подвержены ошибкам, но, что более важно, они также больше влияют на производительность анализа. Более короткие скрипты и выражения интерпретируются быстрее и меньше влияют на скорость обработки.
  • Длина выражения - Arcade поддерживает длинные многострочные скрипты, но, как и в случае со сложными скриптами, длинные скрипты также могут негативно влиять на скорость обработки. Рекомендуется делать скрипты как можно короче, чтобы избежать ненужного снижения производительности.
  • Избегание цикличности - при написании скриптов и программ может быть полезно использовать процедуры циклов, которые выполняют итерацию набора данных и повторяют процедуру или тест для определенных условий. Хотя цикличность поддерживается в Velocity, это может снизить производительность анализа, иногда значительно. Нечасто и разумно используйте логику цикла в аналитических выражениях.

    Избегайте условий в ваших выражениях, которые могут привести к бесконечному циклу во время работы аналитики. Если это произойдет, вы можете заметить значительное влияние на производительность анализа.

    Когда Velocity проверяет аналитику и определяет, что она может содержать циклическую логику, возвращается предупреждение проверки. Это не мешает вам запустить аналитику, но служит напоминанием о том, что циклы могут оказывать негативное влияние на производительность.

  • Тестирование выражения с помощью выборочных значений - тестирование с использованием выборочных значений может потребоваться для получения правильного типа данных из настроенных входных данных.

    Например, если у вас есть строковое поле с именем ingestion_time, содержащим значения времени таких как 2022-11-30T16:05:18Z, и вы хотите преобразовать строки во время, вы можете использовать такое выражение, как Date($feature.ingestion_time). Конструктор выражений Arcade пытается проверить выражение, используя образец строки. Пример строки по умолчанию - это Pacific, который не может быть успешно преобразован в значение времени. После закрытия конструктора выражений возвращается ошибка проверки, указывающая на то, что вы должны настроить допустимое выражение, которое возвращает данные в целевом типе поля.

    Редактор тестирует выражение со значением по умолчанию

    Вы можете обновить это поведение, передав свой собственный допустимый образец строки в конструкторе выражений. Для этого откройте конструктор выражений и на панели Переменные профиля щелкните $feature для доступа к переменным, а затем выберите строковое поле, содержащее информацию о времени.

    Изменение примера значения

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

    Тестирование выражения с примерами значений времени