C# 多边形面积计算公式

时间:2023-01-08 10:58:53

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

      原理:鞋带公式

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

     公式:C# 多边形面积计算公式

     图解:

      C# 多边形面积计算公式

    举例:

 C# 多边形面积计算公式

    C#代码:

 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