计算地球表面任意多边形包围的面积 [英] Calculating area enclosed by arbitrary polygon on Earth's surface

查看:38
本文介绍了计算地球表面任意多边形包围的面积的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一组任意的纬度和经度对,代表一些简单的闭合曲线上的点.在笛卡尔空间中,我可以使用格林定理轻松计算出这样一条曲线所包围的面积.计算球体表面面积的类似方法是什么?我想我所追求的是(甚至是一些近似值)Matlab 的areaint 函数.

Say I have an arbitrary set of latitude and longitude pairs representing points on some simple, closed curve. In Cartesian space I could easily calculate the area enclosed by such a curve using Green's Theorem. What is the analogous approach to calculating the area on the surface of a sphere? I guess what I am after is (even some approximation of) the algorithm behind Matlab's areaint function.

推荐答案

有几种方法可以做到这一点.

There several ways to do this.

1) 整合纬度带的贡献.这里每个条带的面积为(Rcos(A)(B1-B0))(RdA),其中A为纬度,B1和B0为起点和终点经度,所有角度均以弧度为单位.

1) Integrate the contributions from latitudinal strips. Here the area of each strip will be (Rcos(A)(B1-B0))(RdA), where A is the latitude, B1 and B0 are the starting and ending longitudes, and all angles are in radians.

2) 将表面分成球面三角形,并使用Girard 定理,并将它们相加.

2) Break the surface into spherical triangles, and calculate the area using Girard's Theorem, and add these up.

3) 正如 James Schek 在此处所建议的,在 GIS 工作中,他们使用面积保持投影到平坦空间并计算其中的面积.

3) As suggested here by James Schek, in GIS work they use an area preserving projection onto a flat space and calculate the area in there.

从您的数据描述来看,听起来第一种方法可能是最简单的.(当然,可能还有其他我不知道的更简单的方法.)

From the description of your data, in sounds like the first method might be the easiest. (Of course, there may be other easier methods I don't know of.)

编辑 - 比较这两种方法:

乍一看,球面三角形方法似乎是最简单的方法,但通常情况并非如此.问题在于,不仅需要将区域分解为三角形,还需要将其分解为球面三角形,即边为大圆弧的三角形.例如,纬度边界不符合条件,因此需要将这些边界分解为更好地近似大圆弧的边.对于大圆需要特定球角组合的任意边缘,这变得更加困难.例如,考虑如何将球体周围的中间带(例如纬度 0 度和 45 度之间的所有区域)分解为球面三角形.

On first inspection, it may seem that the spherical triangle approach is easiest, but, in general, this is not the case. The problem is that one not only needs to break the region up into triangles, but into spherical triangles, that is, triangles whose sides are great circle arcs. For example, latitudinal boundaries don't qualify, so these boundaries need to be broken up into edges that better approximate great circle arcs. And this becomes more difficult to do for arbitrary edges where the great circles require specific combinations of spherical angles. Consider, for example, how one would break up a middle band around a sphere, say all the area between lat 0 and 45deg into spherical triangles.

最后,如果每个方法都以相似的错误正确执行此操作,则方法 2 将给出更少的三角形,但它们将更难确定.方法 1 提供了更多条带,但确定它们很简单.因此,我建议使用方法 1 作为更好的方法.

In the end, if one is to do this properly with similar errors for each method, method 2 will give fewer triangles, but they will be harder to determine. Method 1 gives more strips, but they are trivial to determine. Therefore, I suggest method 1 as the better approach.

这篇关于计算地球表面任意多边形包围的面积的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆