Зачем нужен (и чем хорош) язык Arcade

Why You Need Arcade

 

Если вы еще не работали с ArcGIS Arcade, новым скриптовым языком от компании Esri, у вас может возникнуть вопрос, для чего он нужен и почему на него стоит обратить внимание.

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

Arcade не является полноценным языком программирования или написания скриптов для создания автономных приложений. Он не является альтернативой средств автоматизации разработок. Это специальный, интуитивно-понятный язык семейства JavaScript для создания выражений, реализующих пользовательские задачи визуализации и надписывания объектов на картах. Его выражения больше похожи на формулы в электронных таблицах.

Платформа ArcGIS призвана обеспечить общий доступ к данным на любых устройствах: от настольных компьютеров до смартфонов. Создать единый язык выражений для всех компонентов платформы непросто. Чтобы работать на мобильных устройствах, язык должен быть простым. Кроме того, он должен был быть безопасным – ведь некоторые полнофункциональные скриптовые языки способны создавать уязвимости.

При разработке Arcade команда Esri учла все эти требования. Язык не имеет отношения к видеоиграм, он назван в честь архитектурного сооружения. Тем самым продолжена традиция Esri использовать дорожную тематику в названиях скриптовых языков (вспомните Avenue) и включать в название Arc.

В итоге наши пользователи получили специализированный, безопасный и портируемый на разные аппаратные платформы язык. Выражение на языке Arcade нельзя вставить с исполняемым кодом куда-либо помимо целевого контекста. Выражения Arcade можно без модификаций использовать на всей платформе ArcGIS: в ArcGIS Pro, ArcGIS Online и приложениях, разработанных с помощью комплектов разработчика ArcGIS Runtime SDKs и интерфейса ArcGIS API for JavaScript. Например, вы можете создавать визуализации на основе значений, получаемых в процессе пользовательских вычислений в ArcGIS Pro, сохранять их как элементы веб-карты и предоставлять общий доступ к этим пользовательским визуализациям с тем, чтобы их могли потреблять другие веб-, настольные и мобильные приложения.

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

Этот функционал позволяет выражать результаты в процентах, выводить новые значения из имеющихся данных и иными способами преобразовывать необработанные данные ваших объектов на карте в полезную информацию для пользователей карты. С помощью выражений Arcade можно также задавать различные свойства отображения, например прозрачность и поворот. Это особенно удобно делать в картах ArcGIS Online. Просто выберите в меню Изменить стиль > Новое выражение, и постройте ваше выражение в окне скрипта.


Эта карта освещает проблему перенаселенности тюрем в Калифорнии. Цвета (красный, желтый и зеленый) и размеры маркеров символизируют нехватку или избыток мест в каждой тюрьме.

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

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

В Arcade можно создавать как однострочные, так и многострочные выражения. Во всех случаях, даже если не используется ключевое слово return, возвращается последнее значение (за исключением пользовательских функций). В Arcade все «геопространственное» находится на привилегированном положении. Вы можете создавать и снабжать геопривязкой геометрии. Arcade содержит профили визуализации, надписывания и псевдонимов. Профиль – это контекст, в котором оценивается выражение Arcade. Каждый профиль предполагает определенные типы входных и выходных данных.


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

Для начального и более глубокого ознакомления с Arcade есть много полезных ресурсов. Помимо руководства пользователя и справочника по функциям на сайте поддержки разработчиков под ArcGIS есть раздел Playground, где можно протестировать язык и поиграть с выражениями Arcade (ссылка: https://developers.arcgis.com/arcade/). Советуем зайти в этот раздел сайта и начать изучать и применять Arcade уже сегодня. Этот простой в написании скриптов и быстрый в исполнении язык поможет вам легко создавать более функциональные и привлекательные информационные продукты.