本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书
实验平台:ArcGIS 10.6
实验数据:请访问实验1(传送门)
基础编辑篇--实验17 按条件计算属性字段值
目录
一、实验背景
二、实验数据
三、实验步骤
(1)新建分类字段
(2)对字段进行赋值
一、实验背景
地理数据的属性表包含了丰富的属性信息,对这些信息进行数据分析,能够筛选出特定的地理对象,如筛选出全国年降水量超出平均值的城市。该过程中最重要的步骤就是对属性表字段进行赋值操作。除了常规的赋予指定值、已有字段值等,还需要根据特定的分析条件,对字段进行条件赋值,如根据已有的年降水量字段值,对全国各城市要素进行类别划分或值分类。
本实验讲述使用地理信息系统软件对字段进行按条件赋值的方法,字段根据设定的不同分析条件进行属性值的赋予。读者通过实验练习,应能够理解和掌握按条件进行字段值的赋予方法,同时学会使用脚本语言进行条件函数的编写。
二、实验数据
图层名称 | 格式 | 坐标系 | 说明 |
point | Shapefile点要素 | Krasovsky_1940_Transverse_Mercator | 字段别名设置的点要素数据 |
直接双击文件Ex17.mxd即可打开
三、实验步骤
(1)新建分类字段
打开 points图层属性表,添加短整型字段“type”;type字段默认的初始值为0。
(2)对字段进行赋值
右击 type字段,打开【Field Calculator】对话框,【Parser】选择“Python”,勾选【Show Codeblock】;本例对value字段的分类规则:“value<0.2,type=1;0.2<=value<0.8,type=2;value>0.8,type=3”;判断脚本为:
def typeFunc(value):
if value < 0.2: # 自定义判断条件
return 1 # 自定义给type字段赋的值
elif value >= 0.2 and value < 0.8: # 自定义判断条件
return 2 # 自定义给type字段赋的值
else: # 自定义判断条件
return 3 # 自定义给type字段赋的值
根据该规则,在【Pre-Logic Script Code】编写对应Python执行代码(建议在Python编辑器中编辑好后直接粘贴进去,这个界面编写代码容易出错);设置【type=】“typeFunc(!value!)”;其中,typeFunc为执行type分类的函数,!value!为原始属性表中的value字段;点击【OK】,得到赋值完成的type字段。注:具体情况可自定义if结构的判断条件。