Некоторые приложения 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 для доступа к переменным, а затем выберите строковое поле, содержащее информацию о времени.
Введите пример строки в том же формате времени, что и значения в поле. При запуске выражения будет сгенерировано допустимое значение времени, и это выражение можно будет успешно использовать в инструменте.