下面这个代码中面积公式有点不懂,其中
后面为什么要乘9101160000.085981这个数值,如果经纬度换成x,y坐标是不要乘这个数字的。
import math
def ComputeArea(data):
arr = data.split(';')
arr_len = len(arr)
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)
https://zhidao.baidu.com/question/373349183830943924.html
你要是计算面积的话,凹点法应该算是最接近的,可以参考一下CodeForge的这个代码或许可以解答你的问题:http://www.codeforge.cn/article/281096