zl程序教程

您现在的位置是:首页 >  Python

当前栏目

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

2023-04-18 13:17:00 时间

很多人用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 语句中有字符串(汉字)时,必须使用双引号,数字不用

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