多边形面积计算公式 GPS经纬度计算面积
原理:鞋带公式
定义:所述鞋带式或鞋带算法(也称为高斯的面积公式和测量员的式)是一种数学算法,以确定区域一个的简单多边形,其顶点由它们的描述笛卡尔坐标中的平面。用户交叉倍增相应的坐标,找到包含多边形的区域,并从周围的多边形中减去它,以找到其中的多边形区域。它被称为鞋带配方,因为构成多边形的坐标不断交叉倍增,就像绑鞋带一样。它有时也被称为鞋带方法。
举例
import math
def computearea(data):
arr = data.split(';')
arr_len = len(arr)
print(arr_len)
if arr_len < 3:
return 0.0
temp = []
for i in range(0,arr_len):
temp.append([float(x) for x in arr[i].split(',')])
s = temp[0][1] * (temp[arr_len -1][0]-temp[1][0])
print(s)
for i in range(1,arr_len):
s += temp[i][1] * (temp[i-1][0] - temp[(i+1)%arr_len][0])
return round(math.fabs(s/2)* 9101160000.085981,6)
data = "104.0926665,30.71425488;104.092432,30.71383056;104.0917783,30.71283421;104.091502,30.71285766"
print(computearea(data))