根据经纬度计算多边形的面积(calculcate polygon's area by lon and lat)
2017-08-04 10:23
489 查看
代码如下:
来源:
Calculate the area of polygon according to the longitude and latitude.
assuming your source is WGS1984, if not then you'll need to adjust the ellipsoid used by the second line.
private static double CalculatePolygonArea(CoordinateCollection coordinates) { double area = 0; if (coordinates.Count > 2) { var coordlist = coordinates.ToList(); for (var i = 0; i < coordlist.Count - 1; i++) { SharpKml.Base.Vector p1 = coordlist[i]; SharpKml.Base.Vector p2 = coordlist[i + 1]; area += ConvertToRadian(p2.Longitude - p1.Longitude) * (2 + Math.Sin(ConvertToRadian(p1.Latitude)) + Math.Sin(ConvertToRadian(p2.Latitude))); } area = area * 6378137.0 * 6378137.0 / 2.0; } return Math.Abs(area); } private static double ConvertToRadian(double input) { return input * Math.PI / 180; }
来源:
Calculate the area of polygon according to the longitude and latitude.
assuming your source is WGS1984, if not then you'll need to adjust the ellipsoid used by the second line.
area = rad(x2 - x1) * (2 + sin(rad(y1)) + sin(rad(y2))) + rad(x3 - x2) * (2 + sin(rad(y2)) + sin(rad(y3))) + rad(x4 - x3) * (2 + sin(rad(y3)) + sin(rad(y4))) + rad(x5 - x4) * (2 + sin(rad(y4)) + sin(rad(y5))) area = abs(area * 6378137.0 * 6378137.0 / 2.0)rad() is a function that converts Degrees to Radians (i.e. Degrees * PI / 180).
相关文章推荐
- 根据经纬度计算多边形面积
- js版根据经纬度计算多边形面积(墨卡托投影)
- js版根据经纬度计算多边形面积(墨卡托投影)
- js根据经纬度计算多边形面积
- js版根据经纬度计算多边形面积(墨卡托投影)
- 经纬度坐标下的球面多边形面积计算公式
- POJ 1654 Area(叉积计算多边形面积)
- hdu 2528:Area(计算几何,求线段与直线交点 + 求多边形面积)
- 经纬度坐标下的球面多边形面积计算公式 (转)
- [POJ1654]Area(计算几何-多边形的面积)
- 【Codeforces Round 339 (Div 2)C】【计算几何 点到直线的距离模板】Peter and Snow Blower 多边形整体绕一圆心旋转的运行面积
- hdoj.2892 area【计算几何+圆与多边形相交面积】 2015/08/17
- 叉乘计算多边形面积:poj 1654 Area
- POJ 1408-Fishnet(计算几何-根据交点求多边形面积)
- Calculate distance, bearing and more between Latitude/Longitude points——根据两点经纬度计算距离,角度及其他
- POJ 1654 Area (计算多边形面积)
- POJ 1265 Area (皮克定理,多边形面积计算)
- POJ1645-Area(简单多边形面积计算)
- poj1654—Area(计算几何求多边形面积)
- (计算几何POJ step 8.1.1.2)POJ 1654 Area(使用叉积来计算多边形面积)