ArcGIS长度和面积计算方案[关闭]


13

尝试掌握在ArcGIS中不同方案中如何计算长度和面积。我不知道为什么我不能在要素类字段上找到答案,但是我找不到精确的答案,除非我不了解某些内容,而且我知道有一些历史。您能帮我填写问号吗?或告诉我为什么我会做错一切; )

GCS =地理坐标系PCS =投影坐标系
所有链接均指向10.1帮助文档-

  1. 要素类shape_length和shape_area字段
    一个。GCS-吗?
    b。PCS-使用简单平面
    c。除shapefile之外,它是否总是自动更新?是

  2. ArcMap中Measurment工具
    一个。GCS-默认测地线,替代方法是Loxodrome和Great Elliptic,但不是平面的。面积计算不可用!
    b。PCS-默认的平面,可选的测地线,后院和大椭圆形
    http://resources.arcgis.com/en/help/main/10.1/index.html#//00s500000022000000

  3. 属性表计算器
    一个。GCS-不可用
    b。PCS-平面
    http://resources.arcgis.com/en/help/main/10.1/index.html#//005s00000027000000

  4. 计算字段工具(数据管理工具箱)
    一个。GCS-测地线性,面积可用,但有问题
    b。PCS-平面
    http://resources.arcgis.com/en/help/main/10.1/index.html#//00170000004m000000

  5. 缓冲工具(和其他即将
    提供的工具)GCS-测地线
    b。PCS-平面或指定GCS输出 http://resources.arcgis.com/en/help/main/10.1/index.html#//000800000019000000

  6. Javascript API客户端
    a。GCS-测地线面积和长度函数
    b。PCS-可以从Web墨卡托转换为地理(或使用几何服务) http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi/namespace_geometry.htm

  7. Flex API客户端
    a。GCS-测地线面积和长度函数,“长度(或面积)将使用自定义圆柱等面积投影来计算”。javascript api中未提及!
    b。PCS-可以从网络墨卡托转换为地理 http://resources.arcgis.com/en/help/flex-api/apiref/com/esri/ags/utils/GeometryUtil.html

  8. ArcGIS Server的REST API -几何服务
    一个。GCS-测地线
    b。PCS-平面
    http://help.arcgis.com/zh-CN/webapi/javascript/arcgis/help/jsapi/geometryservice.htm

另一个问题,测地线究竟是什么?我以为这意味着要在球体(haversine?)上使用3D三角函数公式。在计算面积时是否太慢,这就是为什么要使用相等的面积投影吗?

确定长度和面积时的另一个问题是,等面积投影比使用相同基准球体的测地线计算更准确吗?简要为什么?


2
关于最后一个问题,请参阅什么是计算多边形面积最准确的坐标系?。对于倒数第二个,因为存在相等的椭球面积投影所以用这种投影计算面积要比编写椭球特定代码容易得多。这种情况对于计算距离并不是很好因为没有投影能够忠实地复制所有距离:因此,在良好的GIS中通常采用直接球形和椭圆形距离公式。
ub

1
1.b,3.b和4.b使用投影坐标系,因此是平面的。在使用地理数据库(个人/文件/ SDE)时,1.c始终自动更新。
詹斯2012年

2
我认为最好拆分您的问题。这样,您将获得每个答案的最佳答案。这样,对答案进行投票也将更加容易。
RK 2012年

1
我认为这里大约有10个问题,如果一次提出一个(作为单独的问题),每个问题很可能会得到快速解答。大量问题集中在一起使我们的问答方式难以回答。
PolyGeo

1
不是 CW的理想人选。而且,它可能并不太宽泛:它之所以看起来如此,仅仅是因为它仔细地枚举了ArcGIS提供的执行面积和长度计算的许多不同方式。这仍然是一个非常明确集中的问题。
ub

Answers:


5

您的问题实质上是关于在一个大区域内准确(有效)地计算长度和面积的问题。您和其他人已经填写了实际的详细信息(在这种情况下,与ArcGIS有关)。他们似乎还指出了这些一般性结论:

  • 长度最好通过大地(地理)坐标计算
  • 最好通过等面积投影平面坐标来计算面积[编辑:但是边界的复杂性或描述边界所需的顶点数量也是一个因素-参见@cffk的答案]

这里是一些解释:

测地

数学上定义的表面上两点之间的最短直线(如平面上的直线或球体上大圆弧的弧线)

http://wordnetweb.princeton.edu/perl/webwn?s=geodesic%20line (仅供参考,在椭球上,测地线通常呈S形)。

虽然测地线(椭球体上的长度)的计算相对困难,但与使用众所周知的毕达哥拉斯方程相比,它们是可行且准确的。但是,与椭圆体上的面积计算相比,它们相对容易。

地图投影通常不会保留线性比例,因此投影坐标通常不适用于长度计算。(有一些例外,但这些例外取决于您在投影上的位置或行进的方向。)至于area,有一类投影可以准确地保留面积比例:等面积投影。计算平面上的面积非常简单,并且,如果使用等面积投影,则它是准确的。

大地测量学或地图投影方面有很多好的资源可能会有所帮助。例如,Maarten Hooijberg撰写的《几何大地测量学:使用信息和计算机技术》


将测地线描述为S形可能会产生误导,因为它暗示它不是最短的路径。我知道有许多图形将测地线描述为夹在两个法线段之间的S形曲线。但是我怀疑这些是不正确的。
cffk

如果两个法线段都不是测地线,那么是否应该将测地线夹在两个法线段之间,并使其两端适当重合?
Martin F

4

回答有关测量面积的问题。如果要测量其边为测地线的多边形的面积,则有两种选择:

  1. 将多边形投影为等面积投影,在每个边上插入足够的附加顶点,以确保投影边忠实地遵循测地线,并测量投影空间中的面积;
  2. 将公式用于测地线多边形的面积。

除非多边形边缘非常短,否则第二种方法通常更快,更准确。不幸的是,arcgis没有实现此方法(但是应该实现!)。但是,GeographicLibproj(版本4.9.0及更高版本)都可以。有关更多信息,请参见有关测地线多边形Wikipedia文章


+1但是,我担心将测地线计算应用于小多边形(例如住宅地块的面积)时的准确性:由于要增加和减去大面积才能到达最终面积,因此存在极大的抵消和损失精确。当坐标确实是双精度时,这可能不是问题,但是对于将其坐标离散化为整数网格以进行计算的GIS(包括ArcGIS),这可能会抹去几乎所有固有的精度并产生垃圾结果。
Whuber

如果起始坐标有错误,则无能为力。但是,使用双精度的测地面积公式的整体精度最糟糕的是每个顶点0.1 m ^ 2。典型的错误要少得多。我仔细检查了波兰各省的边界。例如,克拉科夫的多边形有8416个顶点(最长边= 405 m,最短边= 0.02 m)。真实面积(WGS84)= 326798565.428446 m ^ 2,计算面积(GeographicLib的Planimeter实用程序)= 326798565.4285 m ^ 2。
cffk

正确:双精度是很好的,因为它具有约52位的精度,并且在高斯-邦尼特(角度超额)计算中损失不超过20位。但是有符号整数最多具有32位精度(通常要低得多,具体取决于初始化分析区域的方式),因此丢失20个整数可能会变得很明显。我说的是计算精度的下降,而不是坐标本身误差的影响。
ub

我不确定为什么要在这样的计算中间将任何实数表示为带符号整数。(您对精度损失的20位数字的估计是从哪里来的?)我确实同意很难估计实际多边形的误差。因此,在以上引用的克拉科夫案例中,我通过蛮力计算了真实面积(计算面积公式,该面积公式在系列中保留20个术语,并使用75位算术)。对于波兰的其他省份以及整个国家(68000个顶点),我也有类似的数据,面积= 312e9 m ^ 2,误差= 0.001 m ^ 2。
cffk

1
好。但是,我仍然看不到为什么在整数网格上表示坐标必须使用整数而不是双精度对这些坐标进行计算。因此在我看来,您对量化网格坐标的准确性提出了很高的要求。但是,可以将面积计算过程中由于序列截断和舍入引起的附加误差减小得很小(请参见上面的示例)。
cffk 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.