假设您有n
GPS坐标,您如何计算它们之间的中心GPS点?
答案 0 :(得分:9)
如果它现在或将来对任何人有帮助,这里的算法即使对于极点附近的点也是有效的(如果它完全有效,即如果我没有犯愚蠢的数学错误; - ):
将纬度/经度坐标转换为3D笛卡尔坐标:
x = cos(lat) * cos(lon)
y = cos(lat) * sin(lon)
z = sin(lat)
计算x的平均值,y的平均值和z的平均值:
x_avg = sum(x) / count(x)
y_avg = sum(y) / count(y)
z_avg = sum(z) / count(z)
将该方向转换回纬度和经度:
lat_avg = arctan(z_avg / sqrt(x_avg ** 2 + y_avg ** 2))
lon_avg = arctan(y_avg / x_avg)
答案 1 :(得分:4)
取决于您对中心GPS点的意思。根据斯蒂芬的建议,你可以简单地取所有点的平均值 - 但请记住,GPS坐标不是连续的 - 这将在诸如极点之类的不连续性周围失败。
在大多数情况下,您需要转换为没有此问题的坐标系。
您还可以查看由其限定的所有点,计算到每个GPS点的所有距离,并最小化到所有GPS点的距离之和。你需要为此考虑大圆计算。
此外,每个GPS可能具有更高或更低程度的不确定性,您应该考虑到这一点并相应地加权。
你到底想要找到什么?
- 亚当