访问量: 322 次浏览
ArcGIS Arcade 是一种简单轻量级的表达式语言, 可在整个 ArcGIS 平台中使用。这意味着它不仅适用于ArcGIS Online (AGOL)。 相反,也可以在ArcGIS Pro、JavaScript API甚至 Collector 中使用。 在这里,将介绍ArcGIS Arcade,并概述在 ArcGIS 平台中使用的原因, 还将通过一些具体示例和用例概述它如何帮助完成工作。
可能会问的第一个问题是-当 Python 可用时, 为什么还要使用 ArcGIS Arcade? Python 是已经取得巨大增长的GIS 编程语言之一, 所以不能只用 Python 来做吗?
首先,Arcade 永远不会取代 Python,不能用它编写长脚本。 相反,它更像是 Excel中的表达式生成器。设置一个函数或逻辑语句, 它根据表达式输出一个值。
但 ArcGIS Arcade 之所以存在,是因为它的便利性。 例如,可以在 web 地图中“即时”计算值、查询要素、 更改符号系统或标签,甚至可以使用 ArcGIS Arcade 自定义弹出窗口。
可通过多种方式在 ArcGIS 平台中使用 ArcGIS Arcade, 主要优点是可以返回类似于 Excel 的值, 因此不必在数据中创建新字段。但也有其他用途, 以下是如何将 Arcade 用作表达式构建器的三个示例。
假设想要标准化一个值。由于 Arcade 表达式生成器, 不必在原始数据中创建全新的字段。相反, 可以创建一个新表达式并使用它来动态显示数据。首先, 必须使用 Arcade 表达式生成器,选择将两个字段相加, 可以除以另一个字段来规范数据。最后, 为表达式命名并使用它来驱动 web 地图中的符号系统。
($feature.VALUE1 + $feature.VALUE2) / $feature.POPULATION
Expression = NormalizedValue
同样,如果想在地图上显示自定义标签, 不必在数据中创建全新的字段并使用字段计算器。相反, 可以创建一个新的 Arcade 表达式并重复使用之前创建的任何 Arcade 表达式。 例如,通过舍入小数位来格式化任何值。最后, 可以显示来自这个新 Arcade 表达式的自定义标签。
Round(($feature.VALUE1 + $feature.VALUE2) /$feature.POPULATION), 2)
Expression = RoundedValue
通过使用 Arcade,还可以使用构建的任何表达式配置弹出窗口。 例如,甚至可以添加图表、更改图表中条形的颜色, 可以对图表上的值进行排序。此外, 构建的任何表达式都可以在地图上的弹出窗口中即时显示。
归根结底,ArcGIS Arcade 就是为了方便构建表达式。 在 ArcGIS Arcade 存在之前,必须创建一个新字段, 使用值填充该字段。因使用 ArcGIS Arcade, 所以现在可以在 web 地图本身内“即时”执行此操作, 而无需在原始数据中创建任何新字段。Arcade 不仅便于符号系统, 还可以用于自定义标签和弹出窗口。