计算多边形的面积
Calculating Area of a Polygon
我允许用户绘制多边形,我想看看是否有办法根据纬度/液化天然气路径计算面积。
以前有人这样做过吗?如果可能的话,我也想考虑一下地球的球形区域。
是的,这实际上只是一个数学问题,但我很乐意提供一些帮助。
因此,除非你有一个常规多边形可以使用(听起来你没有),并且你需要考虑曲率,否则你将需要求解描述在球体上绘制的多边形的参数方程的双重积分。
或者您可以使用此方法 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 多边形的投影面积。
相关文章:
- 根据元素和容器大小计算边距
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 使用D3.js计算带有字母间距的文本长度
- 使用CSS或JavaScript计算分页符的数量
- SVG/JavaScript:尝试选择和更改多边形点
- 可以't计算自定义谷歌地图的js
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- JavaScript计算帮助(乘以时间)
- 如何计算对象文字中的键
- 计算多边形是否足够大,可以在 gmap 上可见
- 计算多边形的面积
- Google MAPS API V3 -- > 如何计算多边形内的标记数量
- 使用JavaScript计算不规则多边形的面积
- Google Maps API 3:计算多边形的像素长度
- 计算多边形面积
- 计算两个旋转矩形/多边形的碰撞和相交面积
- 旋转多边形的计算
- 诺基亚Here地图计算多边形(如三角形)的质心会产生错误的结果
- 在JavaScript中计算两个多边形的重叠百分比
- 如何计算地图上的多边形面积