ArcGIS Pro 公式使用小技巧

360影视 2025-01-15 10:33 1

摘要:即便是 ArcGIS Pro 这种功能如此丰富的软件,在应对某些特定需求的时候自带功能还是会显得捉襟见肘,此时公式和函数就派上了用场。01

即便是 ArcGIS Pro 这种功能如此丰富的软件,在应对某些特定需求的时候自带功能还是会显得捉襟见肘,此时公式和函数就派上了用场。01

筛选数据 SQL 语句

当需要根据关键词进行筛选的时候,除了自带的选择条件之外,还可以使用 SQL 语句查询,下面列举了一些示例。

DLMC IN ('水田', '水浇地') 选择 DLMC 字段值等于“水田”或“水浇地”的要素。

DLMC IS NOT NULL 选择字段 DLMC 值非空的要素。

DLMC LIKE('%水%') 择字段 DLMC 包含关键字“水”的要素,% 代指任意字符或无字符。

DLMC LIKE('水%') 选择字段 DLMC 包含关键字“水”且“水”字前面无任何字符的要素。

DLMC LIKE('_水%') 字段 DLMC 包含关键字“水”且“水”字前只有一个字符的要素。

按属性选择

不同的公式产生不同的效果,需要根据实际的需求选择合适的公式。02

计算图斑椭球面积

在计算字段对话框内,输入下面的公式即可计算图斑的椭球面积,如下图所示。

!shape.geodesicarea!

计算椭球面积

在 ArcGIS 中,不支持直接计算椭球面积,在 ArcGIS Pro 中已经可以直接计算,使用计算几何也可以得到同样的结果。03

计算图斑四至及多部件

同样还是通过计算字段,使用下面的公式即可计算图斑的四至及多部件。

!shape.Extent.XMin! 外接矩形最小 X 坐标。

!shape.Extent.YMin! 外接矩形最小 Y 坐标。

!shape.Extent.XMax! 外接矩形最大 X 坐标。

!shape.Extent.YMax! 外接矩形最大 Y 坐标。

!shape.partcount! 部件个数,即这条记录包含几个要素。

!shape.isMultipart! 是否为多部件要素。

计算最小X坐标

公式比较简单,需要注意字段的类型,坐标值推荐双精度,部件数推荐整型,判断是否多部件为文本型。 04

字段计算器常用代码

除了上面的一些代码之外,再为你推荐一些常用的代码,示例如下。

round(!area!,2) 四舍五入保留 2 位小数。

!DLMC![:3] 提取字符串前 3 位。

!DLMC![-3:] 提取字符串后 3 位。

!DLMC![1:4] 提取字符串的 2 到 4 位。

!DLMC![:!DLMC!.find('用')+1] 提取关键字及前面的文字,比如这里是提取“用”字及前面的文字。

!DLMC!.upper 英文转大写。

!DLMC!.lower 英文转小写。

!DLMC!.capitalize 英文首字母转大写。

!DLMC!.replace('商', '农') 把“商”字替换为“农”字。

!DLMC!.replace(' ', '') 去掉所有空格。

' '.join(!DLMC!!) 所有的字中间加一个空格。

(8-len(str(!num!))) * '0' + str(!num!) 字段值前面补齐 0,补到 8 位。

保留 2 位小数

不同公式对应的场景不同,需要根据实际情况灵活使用,注意修改其中的字段为你的字段。05

提取字段内中文和数字

import redef getnum(a): num=re.findall("\D",a)return num[0]

提取文字

如果想提取数字,除了修改 \D 修改为 \d 之外,还需要修改函数如下。

import redef getnum(a):num = re.findall("\d", a) # 将\D修改为\d,\d表示匹配数字if num: # 增加判断,防止没有匹配到数字时报错return num[0]return "" # 如果没匹配到数字返回空字符串,可根据实际需求调整返回值

值得注意的是,这个函数实际上是查找匹配到的第一个文字或者数字。06

多分式标注

如果想要使用多分式标注,可以通过下面的 Python 函数实现,如下图所示。

def FindLabel ( [FID] , [中类], [大类] , [小类]):a=len([FID] )b=len([中类])c=len( [大类] )d=len( [小类] )if a>b:s=aelse:s=bp=[FID]+'\n'+ ' '*d+[大类] + "" + '-'*s*2 + ""+ [小类]+ ' '*c +'\n'+ [中类]return p

多分式标注的实现方法有多种,这里是使用的 Python 函数。07

为了方便大家学习交流 ArcGIS 技术,我们创建了一个 ArcGIS Pro 学习交流群。

我们无论你是GIS领域的初学者,还是寻求进阶技巧的专业人士,都欢迎加入这个学习交流平台。

让我们一起分享实战经验,解锁ArcGIS Pro的隐藏技能,让空间分析、地图制作和数据可视化变得得心应手。 08

来源:水经注软件

相关推荐