ArcGIS应用——四种计算图斑面积的方法

ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全?

1、计算几何

本人认为这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算。

a、首先添加一double类型字段,用来存储面积数值。

b、执行计算几何操作

在随后的对话框里选择对应的属性即可。

2、字段计算器

字段计算器是一种较高级的用法,在计算计算器中可以编辑个性化个脚本代码(VB Script 或者 Python),进行一些复杂的计算。计算图斑面积是其中最简单的应用之一。

Python脚本如下:

3、计算面积工具

4、Shp转GDB

先创建GDB(PGDB 或者 FGDB),再创建Feature Dataset,注意Feature Dataset的坐标系设置为与原Shp一致,将Shp数据转存如GDB后,会自动计算出图斑的边界长度及其面积。

一点点疑问

如下图所示,所标识出的1、2、3、4列依次对应上述的四中计算面积方法,观察比较可知,方法4与其它三种方法得到的结果在数值精度上有一点点差别,WHY?

时间: 2024-08-01 23:43:30

ArcGIS应用——四种计算图斑面积的方法的相关文章

[Unity-24] Unity的四种加载场景的方法

Unity官方提供了4种加载场景(scene)的方法,分别是: 1. Application.LoadLevel():同步加载 2. Application.LoadLevelAsync():异步加载 3. Application.LoadLevelAddictive():同步附加式加载 4. Application.LoadLevelAddictiveAsync():异步附加式加载 下面对这四种方法进行简要的介绍和分析: 1.同步加载:假设当前场景为A,我们要切换到场景B,unity会在切换场

教你Mac OS系统四种修改Hosts文件的方法

使用Mac OS X系统的用户,在某些时候可能遇到了需要修改系统Hosts文件的情况,那么Mac OS系统如何修改Hosts文件呢?和Windows系统有何区别呢?我们知道其实修改Hosts文件只需要在硬盘中找到该文件,再编辑修改就OK了,但是很多童鞋们发现只要编辑 Hosts 文件就出现"你不是文件 hosts 的所有者,因此没有权限写到该文件"的提示,要解决这个权限问题又比较麻烦,对于刚刚使用 Mac 的用户来说并不容易整明白. 因此,我们在这里搜集和整理了以下几个方法供大家使用,

教你Mac OS系统四种改动Hosts文件的方法

使用Mac OS X系统的用户.在某些时候可能遇到了须要改动系统Hosts文件的情况,那么Mac OS系统怎样改动Hosts文件呢?和Windows系统有何差别呢?我们知道事实上改动Hosts文件仅仅须要在硬盘中找到该文件,再编辑改动就OK了.可是非常多童鞋们发现仅仅要编辑 Hosts 文件就出现"你不是文件 hosts 的全部者,因此没有权限写到该文件"的提示,要解决这个权限问题又比較麻烦,对于刚刚使用 Mac 的用户来说并不easy整明确. 因此.我们在这里搜集和整理了下面几个方法

四种Python 列表反转显示方法

第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reversed(listNode)) print(newList) #结果 [5,4,3,2,1] 第二种,使用sorted函数,sorted是排序函数,它是对一个列表进行排序后生成一个新的list列表,而sort则是在原来的列表上直接进行排序. listNode = [1,2,3,4,5] newLis

[转]对tableView三种计算动态行高方法的分析

tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的.笔者本次主要是因为预估行高的方法的问题作为了一个契机顺带写了此文对几种动态行高方法的分析. 旧方法 现在常规的动态行高的计算方法还是用 [str boundingRectWithSize:size options:NSStringDrawingU

ios开发日记11 对tableView三种计算动态行高方法的分析

tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的. AD: tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,

对tableView三种计算动态行高方法的分析

tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的.笔者本次主要是因为预估行高的方法的问题作为了一个契机顺带写了此文对几种动态行高方法的分析. 如果你不是在董铂然博客园看到本文,请点击查看原文. 旧方法 现在常规的动态行高的计算方法还是用 [str boundingRectWithSize:siz

Java中四种遍历Map对象的方法

方法一:在for-each循环中使用entry来遍历,通过Map.entrySet遍历key和value,这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Integer,Integer> map = new HashMap<Integer,Integer>(); for(Map.Entry<Integer,Integer> entry:map.entrySet()){ System.out.println("key="

Android中Activity执行restart过程中涉及到的四种数据存储恢复的方法

我们知道,当Configuration Change发生的时候(比如横竖屏切换等),会导致Activity重启,即先destroy,然后会restart,一般情况下restart的时间比较短,为了保证一致的用户体验,我们应该在Activity重启前将一些数据存储下来,然后在restart的时候重新根据这些数据更新UI.当然你可能想将这些数据写到物理文件或数据库中,但是这样有缺点,因为IO操作时耗时操作,会影响restart的过程,甚至导致ANR程序无响应,本文将介绍几种将数据缓存在内存中以便re