摘要:即便是 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
来源:水经注软件