在ArcGIS Pro中,计算矢量数据的字段值,表达式类型仅支持 Python 和 Arcade。
Python就不用多说了,现在几乎是全民Python了,我们今天的字段计算案例也是使用Python。
这里简单说一下Arcade。Arcade是ArcGIS的一种新的表达语言,可以在整个ArcGIS平台中使用。ArcGIS的一大优点是它几乎可以在任何设备上运行,无论是在web、桌面还是由一组丰富的应用程序支持的移动设备。为了更好地工作,每个应用程序都需要使用相同的语言,这就是Arcade的用武之地。
以下是使用Arcade计算地块的面积的案例。
批量条件赋值
土地利用数据,Type列中,1代表农田,2代表林地。要把数字对应的名称写到新的字段中。
先定义一个Flag函数,变量是 x。如果 x 值是1,返回农田;如果 x 值是2,返回林地。然后再调用这个函数。
注意:Python代码块是通过缩进来标记的,一般是使用Tab或是4个空格。Tab和空格不能混用。
字段值合并
直接使用 + 连接两个字段。
字段值拆分
(1)取出前几位
如果文本是有规律的,只想取出前3位,使用 !字段名![0:3]
(2)取出空格前的文本
使用split函数, !字段名!.split()[0]
(3)根据某个字符拆分
使用split函数,!字段1! .split('市')[0]
和上一个例子中一样,如果括号中什么都不写,是表示空格。写了条件,表示提取条件前的字符。
字段值比较
使用 == 进行比较。如果文本内容相同,会赋值1;如果不同,会赋值0。
给每个字中间加空格
使用join函数,双引号前加一个空格。
相关阅读:
Arcade在线文档:
https://pro.arcgis.com/zh-cn/pro-app/tool-reference/data-management/calculate-field-examples.htm