在ArcMap中,无论是在属性框中右击字段打开的字段计算器还是在工具箱中的字段计算器工具,都支持Python 和VBScript表达式。
在实际数据处理过程中 ,可能会遇到现有数据源并非是我们所想得到的数据,而需要对已有源数据进行一定的计算处理,得到我们想要的结果。在ArcGIS中FieldCalculator,也就是字段计算器是个强大的对属性字段进行各式各样计算的功能,利用字段计算器总能达到事半功倍的效果。
利用字段计算器,用以计算字段值。这些字段值可以是属性表里相关字段的综合,比如百分比,分解字段等;可以是和图形有关的值,比如点的xy坐标,面的中心点坐标,线的长度等等;也可以是为了满足某种特定需求而创造出来的值。
在图层上右键,打开属性表,在要计算的字段上右键,打开字段计算器窗口,属性表中的字段计算器如下图所示:
属性字段计算器包括简单模式和高级模式两种,如下图所示,左图为简单模式,右图为复杂模式:
数据管理工具箱中字段工具集下的字段计算工具如下图所示,与属性表中的字段计算器类似,可实现对指定字段的表达式计算。
通过字段计算器可实现众多而复杂的字段计算,先从最基本最简单的字段批量复制开始。字段批量赋值给字段OWNER批量赋值“ArcGIS”
注意:如果是字符串的话双引号一定要用英文输入法下的双引号,不能用中文输入法的双引号,会报错;如果有选中要素,默认是仅计算选中部分。
1)字段之间赋值
把字段Rowid的值赋批量赋给字段FID
注意:字段间赋值时要考虑到字段类型以及字段里填写的内容,例如文本型的字段再赋给数字型的字段时会出错。需要通过函数进行转换。
在某些情况下,为了设置字段值可能要对单条记录甚至是所有记录执行数学计算。您可以对所有记录或选中记录执行简单计算和高级计算。此外,还可以在属性表中的字段上计算面积、长度、周长和其他几何属性,可以通过Python 或VBScript 执行。
Python 是ArcGIS 建议使用的脚本语言。如果要访问地理处理功能(包括要素几何),请使用Python。采用Python 作为 ArcGIS 10.0 的脚本语言为执行计算提供了许多便利。
通过Python 表达式和“代码块”参数可执行以下操作:
在表达式中应用任意Python 函数。
访问地理处理函数和对象。
访问要素几何的属性。
访问新的随机值运算符。
根据if-then-else 逻辑对值进行重分类。
2)使用其他地理处理工具
在实际的处理中经常遇到根据条件为属性赋值的情况,下面就介绍如何利用Python批量替换属性列表在的值的简单例子,如下图所示,利用Python为数值型进行范围分析与统计,根据范围值,为属性计算新的分类代码值。
详细代码如下:
defReclass(WellYield):
if (WellYield <= 50):
return 1
if (WellYield <=150 and WellYield > 50):
return 2
else:
return 3
3)Python在规划方面的应用
随着国土空间规划的深入推进,Python的价值体现在数据的爬取、分析应用方面。简化前期的分析工作,并且远期随着国家智慧城市的推进,规划平台的动态、实时数据、数据库的建立、监测与管控。
有想学习的同学,推荐你一本Python学习的书籍,还是很不错,网上有的要么是掏钱,要么是扣积分才能下载,费了很大力才弄到。
现在将这本书全部献给学习爱学习的同学,全书278页。领取方式:1、右侧点“再看”或点击文章末尾“广告”打开关闭;2、后台回复“Python”。