0


Arcgis中栅格计算器赋值python代码

很多人用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 中的值执行以上逻辑计算

注意事项:

  1. python语句格式比较严格,冒号之后的执行语句必须空两格
  2. 符号必须使用英文输入法符号
  3. Python 语句中有字符串(汉字)时,必须使用双引号,数字不用

感谢大家的观看 ,希望能帮到初学者~


本文转载自: https://blog.csdn.net/Along6/article/details/120716334
版权归原作者 不懂技术的憨憨 所有, 如有侵权,请联系我们删除。

“Arcgis中栅格计算器赋值python代码”的评论:

还没有评论