以前使用的时候都仅仅只限于写一个自定义函数:
类似于这种简单的比较函数:
表达式:
function(!m!,!n!) #!m!,!n! 为字段名称
表达式类型: PYTHON_9.3
代码块:
def function(a,b): #比较a字段与b字段的值,取其中的小值
if float(a)==float(b):
return "相等"
if float(a)>float(b):
return "b"
if float(a)<float(b):
return "a"
今儿在使用字段计算器的突发奇想,能不在代码块中添加更丰富的arcpy代码,实现更多的功能,比如将本图层基本信息及其他不属于属性表的信息添加入属性表,通过字段计算:
在字段计算器下,运行“字段计算”的arcpy代码:arcpy.CalculateField_management(layer, fieldName, expression, "PYTHON_9.3")
添加字段的操作:arcpy.AddField_management(layer, "ceshi", "TEXT", "", "", "20") 最终发现添加字段并不能成功运行
发现运行代码的参数中都存在layer,因此手动添加该layer的路径:
layer=r'E:\cs\cs.shp'

本文探讨如何利用ArcGIS的字段计算器结合arcpy代码,实现查找属性表中名称相同且面积最大的图斑,并尝试在代码块中添加字段和执行更复杂的操作。虽然在实际操作中发现字段计算器对于添加字段的处理不理想,但通过arcpy的其他管理函数,如SelectLayerByAttribute,可以更高效地完成任务。对于简单操作,字段计算器方便快捷,而对于大量数据和复杂逻辑,建议使用综合脚本处理。
最低0.47元/天 解锁文章
9320

被折叠的 条评论
为什么被折叠?



