计算多边形的面积

Calculating Area of a Polygon

本文关键字:多边形 计算      更新时间:2023-09-26

我允许用户绘制多边形,我想看看是否有办法根据纬度/液化天然气路径计算面积。

以前有人这样做过吗?如果可能的话,我也想考虑一下地球的球形区域。

是的,这实际上只是一个数学问题,但我很乐意提供一些帮助。

因此,除非你有一个常规多边形可以使用(听起来你没有),并且你需要考虑曲率,否则你将需要求解描述在球体上绘制的多边形的参数方程的双重积分。

或者您可以使用此方法 http://www.mathsisfun.com/geometry/area-irregular-polygons.html而忽略了地球的球形性质...

你可能只想使用谷歌API。计算在谷歌地图上绘制的多边形的面积

你可以这样做(没有曲率)。我曾经遇到过同样的问题,并得出了这个基于几何的公式。

给定一个闭合多边形的 N 2D 点 P[i]:= (X[i], Y[i]),

i 从 1 到 N 且 P[1] = P[N](它是闭合的),那么面积可以计算如下:

Area = Abs(Sum(Z value of cross product (P[i]-P[1]) X (P[i+1]-P[1])))/2
with i ranging from 2 to N-1

作为伪代码:

Area:= 0
for i:= 2 to N-1 do
  Area:= Area + ((X[i]-X[1]) * (Y[i+1]-Y[1]) - (Y[i]-Y[1]) * (X[i+1]-X[1]))
Area:= Abs(Area)/2

此代码适用于 2D 上的非凸多边形的凸面,简单多边形或子多边形。

如果在 3D 中点,您将仅使用 X 和 Y(如设置 Z:= 0)来获取 2D X-Y 平面上 3D 多边形的投影面积。