ArcGIS Arcade:初学者快速指南


发布日期 : 2022-04-15 01:22:59 UTC

访问量: 322 次浏览

ArcGIS Arcade 是一种简单轻量级的表达式语言, 可在整个 ArcGIS 平台中使用。这意味着它不仅适用于ArcGIS Online (AGOL)。 相反,也可以在ArcGIS Pro、JavaScript API甚至 Collector 中使用。 在这里,将介绍ArcGIS Arcade,并概述在 ArcGIS 平台中使用的原因, 还将通过一些具体示例和用例概述它如何帮助完成工作。

为什么要使用 ArcGIS Arcade?

可能会问的第一个问题是-当 Python 可用时, 为什么还要使用 ArcGIS Arcade? Python 是已经取得巨大增长的GIS 编程语言之一, 所以不能只用 Python 来做吗?

首先,Arcade 永远不会取代 Python,不能用它编写长脚本。 相反,它更像是 Excel中的表达式生成器。设置一个函数或逻辑语句, 它根据表达式输出一个值。

但 ArcGIS Arcade 之所以存在,是因为它的便利性。 例如,可以在 web 地图中“即时”计算值、查询要素、 更改符号系统或标签,甚至可以使用 ArcGIS Arcade 自定义弹出窗口。

![](https://www.osgeo.cn/static/upload/37/37cc194c-bc5a-11ec-9679-00163e0533f4_m.jpg)

ArcGIS Arcade 用例和示例

可通过多种方式在 ArcGIS 平台中使用 ArcGIS Arcade, 主要优点是可以返回类似于 Excel 的值, 因此不必在数据中创建新字段。但也有其他用途, 以下是如何将 Arcade 用作表达式构建器的三个示例。

1.更改符号系统

假设想要标准化一个值。由于 Arcade 表达式生成器, 不必在原始数据中创建全新的字段。相反, 可以创建一个新表达式并使用它来动态显示数据。首先, 必须使用 Arcade 表达式生成器,选择将两个字段相加, 可以除以另一个字段来规范数据。最后, 为表达式命名并使用它来驱动 web 地图中的符号系统。

($feature.VALUE1 + $feature.VALUE2) / $feature.POPULATION
Expression = NormalizedValue

2.创建标签

同样,如果想在地图上显示自定义标签, 不必在数据中创建全新的字段并使用字段计算器。相反, 可以创建一个新的 Arcade 表达式并重复使用之前创建的任何 Arcade 表达式。 例如,通过舍入小数位来格式化任何值。最后, 可以显示来自这个新 Arcade 表达式的自定义标签。

Round(($feature.VALUE1 + $feature.VALUE2) /$feature.POPULATION), 2)
Expression = RoundedValue

3.自定义弹出窗口

通过使用 Arcade,还可以使用构建的任何表达式配置弹出窗口。 例如,甚至可以添加图表、更改图表中条形的颜色, 可以对图表上的值进行排序。此外, 构建的任何表达式都可以在地图上的弹出窗口中即时显示。

ArcGIS Arcade 的便利性

归根结底,ArcGIS Arcade 就是为了方便构建表达式。 在 ArcGIS Arcade 存在之前,必须创建一个新字段, 使用值填充该字段。因使用 ArcGIS Arcade, 所以现在可以在 web 地图本身内“即时”执行此操作, 而无需在原始数据中创建任何新字段。Arcade 不仅便于符号系统, 还可以用于自定义标签和弹出窗口。

![](https://www.osgeo.cn/static/upload/58/58963752-bc5a-11ec-b35e-00163e0533f4_m.jpg)