很多人用arcgis 做土地利用类型分类的时候,可能会遇到一类问题,就是想根据属性表中的value 数字值做分类赋值,for example,我想给下面的属性表赋值。
普通处理:
打开属性表-文件-按属性选择-value=1: 再选择name字段,进行字段计算器计算,每一类都要进行这样的操作,在处理大数据的时候会很麻烦,浪费很多时间,今天分享给大家一个快速分类赋值方法,用到的是python语言:大家请看图示
话不多说,直接上代码:
dim cal(x):
if x==1:
return "交通用地"
elif x==2:
return "坑塘"
elif x==3:
return "建筑用地"
else:
return "其他类型"
下面的name字段选择 cal(!value!)
计算逻辑:
用value 值进行name列赋值,其中1=交通用地 2=坑塘。。。。(具体命名自定)
代码解释:
def cal(x): %%% cal是表达式,可以替换成其他短词,def对x进行定义
if (x==1): %%% 判断x等不等于1
return "交通用地" %%%等于1,给X赋值‘交通用地’
elif (x==2): %%%p判断x等不等于2
return "坑塘" %%%等于2,给x赋值“坑塘”
elif(x==3): %%%elif可以根据自己的分类需求, 每一类都添加elif
return "建筑用地"
else: %%最后要有else,构成一个完整的if 循环
return "其他用地"
Name:
Cal(!Value!) %%%让value 中的值执行以上逻辑计算
注意事项:
- python语句格式比较严格,冒号之后的执行语句必须空两格
- 符号必须使用英文输入法符号
- Python 语句中有字符串(汉字)时,必须使用双引号,数字不用
感谢大家的观看 ,希望能帮到初学者~
版权归原作者 不懂技术的憨憨 所有, 如有侵权,请联系我们删除。