三角测量GPS坐标

时间:2009-02-24 21:00:25

标签: math gps geometry

假设您有n GPS坐标,您如何计算它们之间的中心GPS点?

2 个答案:

答案 0 :(得分:9)

如果它现在或将来对任何人有帮助,这里的算法即使对于极点附近的点也是有效的(如果它完全有效,即如果我没有犯愚蠢的数学错误; - ):

  1. 将纬度/经度坐标转换为3D笛卡尔坐标:

    x = cos(lat) * cos(lon)
    y = cos(lat) * sin(lon)
    z = sin(lat)
    
  2. 计算x的平均值,y的平均值和z的平均值:

    x_avg = sum(x) / count(x)
    y_avg = sum(y) / count(y)
    z_avg = sum(z) / count(z)
    
  3. 将该方向转换回纬度和经度:

    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可能具有更高或更低程度的不确定性,您应该考虑到这一点并相应地加权。

你到底想要找到什么?

- 亚当