ArcGIS数据统计及字段计算


1 、数据统计分析

以下图所示,在空间分析工具箱和分析工具箱中,均有相关的统计分析工具,使咱们可以对已有数据进行统计分析。 函数


 其中,面积制表、汇总统计数据、分区统计等等都是经常使用的工具。现有一植被覆盖图,包含归属者Owner)、植被类型VEG_DESC)、面积”(area)等字段。须要统计的是,按照归属者统计出每类用地的面积,也就是说,须要统计不一样的人所拥有的每种植被覆盖类型的面积是多少。 工具

 根据上述要求,利用ArcGIS工具箱中的汇总统计数据、频数及面积制表工具都可实现上述统计要求。汇总统计数据工具可实现以下统计运算:总和、平均值、最大值、最小值、范围、标准差、计数、第一个和最后一个。输出结果表将由包含统计运算结果的字段组成,将使用如下命名约定为每种统计类型建立字段:SUM_FIELDMAX_FIELDMIN_FIELDRANGE_FIELDSTD_FIELDFIRST_FIELDLAST_FIELD COUNT_FIELD,同时,还能够指定案例分组字段,将单独为每一个惟一属性值计算统计数据,则每一个案例分组字段值均有一条对应的记录。以下图所示,对area字段进行总和统计,案例分组字段设置为OwnerVEG_DESC,进而能够获得不一样归属者对应的植被类型的面积总数。 spa

频数工具读取表和一组字段,并建立一个包含惟一字段值和每一个惟一字段值的出现次数的新表。输出表将包含频率字段和指定的频率字段及汇总字段。汇总字段参数是可选项,选中后则频率计算的惟一属性值将由每一个汇总字段的数字属性值进行汇总。OwnerVEG_DESC设置为频数字段,area字段设置为汇总字段,则可得到想要的结果,以下图所示: 3d

面积制表工具用来计算两个数据集之间交叉制表的区域并输出表。针对上述需求,选择同一数据集便可。选择对应的区域字段:Owner、类字段:VEG_DESC便可。以下图所示: htm

经过面积制表的对话框不难发现,其可针对两个数据集进行处理。此处再增长一个专门针对面积制表工具的应用示例。数据为不一样植被覆盖度的栅格图和不一样区域归属者的矢量图,现须要统计不一样归属者所拥有的不一样植被覆盖面积是多少。栅格数据以下: 对象

矢量数据以下图所示:desc_字段记录归属者信息。 blog

利用面积制表工具,输入对应的区域矢量数据和对应的区域字段desc_,输入对应的栅格数据和对应的类字段,以下图所示: ip

 


肯定后,便可获得不一样的归属者所拥有的不一样植被覆盖的总数二维表。 资源

2、字段计算 文档

在实际数据处理过程当中 ,可能会遇到现有数据源并不是是咱们所想获得的数据,而须要对已有源数据进行必定的计算处理,获得咱们想要的结果。在ArcGISField Calculator,也就是字段计算器是个强大的对属性字段进行各式各样计算的功能,利用字段计算器总能达到事半功倍的效果。

利用字段计算器,用以计算字段值。这些字段值,能够是属性表里相关字段的综合,好比百分比,分解字段等;能够是和图形有关的值,好比点的xy坐标,面的中心点坐标,线的长度等等;也能够是为了知足某种特定需求而创造出来的值。

ArcMap中,不管是在属性框中右击字段打开的字段计算器仍是在工具箱中的字段计算器工具,都支持Python VBScript表达式。

在图层上右键,打开属性表,在要计算的字段上右键,打开字段计算器窗口,属性表中的字段计算器以下图所示:

 


属性字段计算器包括简单模式和高级模式两种,以下图所示,左图为简单模式,右图为复杂模式:

 

数据管理工具箱中字段工具集下的字段计算工具以下图所示,与属性表中的字段计算器相似,可实现对指定字段的表达式计算。

 经过字段计算器可实现众多而复杂的字段计算,先从最基本最简单的字段批量复制开始。字段批量赋值给字段OWNER批量赋值“ArcGIS”

注意:若是是字符串的话双引号必定要用英文输入法下的双引号,不能用中文输入法的双引号,会报错;若是有选中要素,默认是仅计算选中部分。

2)字段之间赋值

把字段Rowid的值赋批量赋给字段FID

注意:字段间赋值时要考虑到字段类型以及字段里填写的内容,例如文本型的字段再赋给数字型的字段时会出错。须要经过函数进行转换。

在某些状况下,为了设置字段值,可能要对单条记录甚至是全部记录执行数学计算。您能够对全部记录或选中记录执行简单计算和高级计算。此外,还能够在属性表中的字段上计算面积、长度、周长和其余几何属性,能够经过 Python VBScript 执行。

Python ArcGIS 建议使用的脚本语言。若是要访问地理处理功能(包括要素几何),请使用 Python。采用 Python 做为 ArcGIS 10.0 的脚本语言为执行计算提供了许多便利。

经过 Python 表达式和代码块参数可执行如下操做:

在表达式中应用任意 Python 函数。

访问地理处理函数和对象。

访问要素几何的属性。

访问新的随机值运算符。

根据 if-then-else 逻辑对值进行重分类。

3)使用其余地理处理工具。

在实际的处理中常常遇到根据条件为属性赋值的状况,下面就介绍如何利用Python批量替换属性列表在的值的简单例子,以下图所示,利用Python为数值型进行范围分析与统计,根据范围值,为属性计算新的分类代码值。

详细代码以下:

def Reclass(WellYield):

        if (WellYield <= 50):

             return 1 

      if (WellYield <=150 and WellYield > 50):

             return 2

      else:

             return 3

篇幅有限,此处仅给出一个简单的Python例子,详细的内容,读者可参考ArcGIS相关帮助文档、ESRI中国社区以及ESRI在线帮助等相关资料和资源。另外,在字段计算器中,能够将表达式保存为cal格式文件,能够用记事本打开编辑。对于一个常常用的表达式,能够写好以后保存起来,下次使用的时候,只须要加载过来便可。