zoukankan      html  css  js  c++  java
  • 多边形面积计算公式 GPS经纬度计算面积

     最近在做地图相关面积计算显示工作,百度了很多关于多边形面积计算方面公式和代码,只能说贼费劲,最终完成了把结果展示下

          原理:鞋带公式

       定义:所述鞋带式鞋带算法(也称为高斯的面积公式测量员的式)是一种数学算法,以确定区域一个的简单多边形,其顶点由它们的描述笛卡尔坐标中的平面。用户交叉倍增相应的坐标,找到包含多边形的区域,并从周围的多边形中减去它,以找到其中的多边形区域。它被称为鞋带配方,因为构成多边形的坐标不断交叉倍增,就像绑鞋带一样。它有时也被称为鞋带方法

         公式:{ mathbf {A}} _ {{ text {quad。}}} = {1  over 2} | x_ {1} y_ {2} + x_ {2} y_ {3} + x_ {3} y_ { 4} + X_ {4} Y_ {1} -x_ {2} Y_ {1} -x_ {3} Y_ {2} -x_ {4} Y_ {3} -x_ {1} Y_ {4} |

         图解:

          

        举例:

     

    double CalculateArea(List<Point> points)
            {
                var count = points.Count;
                double area0 = 0;
                double area1 = 0;
                for (int i = 0; i < count; i++)
                {
                    var x= points[i].X;
                    var y= i + 1 < count ? points[i + 1].Y: points[0].Y;
                    area0 += x* y;
    
                    lat = points[i].Y;
                    lon = i + 1 < count ? points[i + 1].X: points[0].X;
                    area1 += x* y;
                }
                return Math.Round(Math.Abs(0.5 * (area0 - area1) ), 2);
            }

     附:如果XY是经纬度,请在上述结果上乘 9101160000.085981

  • 相关阅读:
    Linux中profile、bashrc、bash_profile之间的区别和联系
    指针长度长几何
    快速理解网络协议视频总结
    gdb调试关键点记录
    调试经验积累
    定位网页元素
    浮动
    盒子模型
    css3
    css
  • 原文地址:https://www.cnblogs.com/wt88/p/11895785.html
Copyright © 2011-2022 走看看