前面的文章介绍了栅格计算器的常见公式大全→ArcGIS 10.2栅格计算器实用公式大全(经典版)
如果需要按不同的条件进行赋值,最先想到的是先按属性进行选择,再对选择的记录进行赋值,例如将TypeName为lindi的flag字段标识为3,做法是一查找二赋值:
以上做法虽然能实现想要的效果,但是如果TypeName有很多种,那么就要重复好多次,批量实现的不二方法当然是写代码了。
在flag字段上右键→Field Calculator,打开我们熟悉的界面(如下图所示),在Parser栏中选择Python语言(当然两种语言都能实现,本人习惯使用后者),勾选Show Codeblock复选框,在Script Code区域我们将定义一个具有返回值的函数Flag(),最后再调用函数(注意函数的参数前后都要加一个感叹号),给flag赋值,一切OK!
效果:
代码模板:
def fun(a,b,c):
if a=="" and b=="":
return "1"
elif a=="" and b=="":
return "2"
else:
return c
函数调用:
fun(!QSDWDM!,!DLDM!,!Flag!)
注意,使用字段计算时,注意中文编码的影响。
---------------------
文章转载于CSDN 作者:古刹青灯
版权归原作者所有,如有侵权请告知删除
- END -
在ArcGIS中提取DEM的单元高程点
值得学习的ArcGIS地质图矢量化技巧
7.72GB ARCGIS ERDAS ENVI干货教程网盘下载
ArcGIS中建立缓冲区技巧讲解