龙空技术网

ArcGIS属性表之字段计算器

模型笔记community 393

前言:

现时小伙伴们对“pythonforarcgis”都比较重视,朋友们都需要学习一些“pythonforarcgis”的相关内容。那么小编也在网络上收集了一些有关“pythonforarcgis””的相关文章,希望同学们能喜欢,小伙伴们一起来了解一下吧!

在ArcGIS中,使用键盘输入值并不是编辑属性表的唯一方式。在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算。我们可以对所有记录或选中记录执行简单计算和高级计算。此外,还可以对属性表中的字段进行面积、长度、周长和其他几何属性的计算。以下简单介绍一下属性表中字段计算器的使用。

打开属性表中的字段计算器有两种方法,一是通过右击想要编辑字段,选择字段计算器(F)….;或者是通过搜索计算字段工具打开计算字段工具,两者实现的功能是一样的。

图1 字段计算器

图2 计算字段工具

根据已有的一个或几个字段,进行利用提供的函数进行数学运算来计算和更新当前的字段值,如实例中SUM字段值是根据gridcode和Area字段值相加得到的。对于字段属性为文本类型中,还可以利用字符串函数进行字符串方面的计算,如字符串的拼接、切片、替换、去除空字符、大小写转换等,还支持正则表达式。

图3 简单运算

除此之外,还可以通过勾选显示代码块来自定义函数进行更复杂的逻辑判断,如此此处示例中,采用Python脚本自定义了一个函数,实现了当gridcode字段为偶数时,SUM字段值是gridcode字段和Area字段值相加值,gridcode字段为奇数时,SUM字段值只是Area字段值这么一个简单的逻辑判断,用户可以根据需要自定义自己的函数,建议先在Python编辑器里写好后,再粘贴进来,因此这里不支持缩进。

图4 自定义代码块运算

另外,字段计算器也可以实现和计算几何同样的功能,即计算要素的周长或者面积,对于长度表达式为!shape.length@线性测量单位关键字!,对于面积表达式为!shape.length@面积测量单位关键字!。(此处的表达式针对的解析程序是Python)

图5 几何运算

在ArcGIS帮助中,给出了面积测量单位关键字有ACRES、ARES、HECTARES、SQUARECENTIMETERS、SQUAREDECIMETERS、SQUAREINCHES、SQUAREFEET、SQUAREKILOMETERS、SQUAREMETERS、SQUAREMILES、SQUAREMILLIMETERS、SQUAREYARDS、SQUAREMAPUNITS、UNKNOWN;相对应的线性测量单位关键字有CENTIMETERS、DECIMALDEGREES、DECIMETERS、FEET、INCHES、KILOMETERS、METERS、MILES、MILLIMETERS、NAUTICALMILES、POINTS、UNKNOWN、YARDS,可以根据需要自定义测量单位。

如果想了解更多ArcGIS方面使用教程或方法,欢迎关注我的微信公众号——模型笔记community,我会不定期更新相关文章,如有问题,欢迎给我留言。

标签: #pythonforarcgis