/// <summary>
/// 多边形面积计算(不论凸凹)
/// </summary>
/// <param name="N">坐标点数即多边形的边数</param>
/// <param name="X">坐标的横坐标集合</param>
/// <param name="Y">坐标的纵坐标集合</param>
/// <returns>多边形的面积</returns>
public static double Area(int N, double[] X, double[] Y)
{
double area;
if (N < 3)
{
return 0;
}
area = Y[0] * (X[N - 1] - X[1]);
for (int i = 1; i < N; i++)
{
area += Y * (X[(i - 1)] - X[(i + 1) % N]);
}
return area / 2;
}
可将经纬度转换成二维坐标后使用上面的方法计算