5

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

4

2 回答 2

10

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

  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)
    
于 2009-02-24T21:26:17.467 回答
4

取决于您所说的中央 GPS 点是什么意思。正如斯蒂芬所建议的那样,您可以简单地取所有点的平均值 - 但请记住,GPS 坐标不是连续的 - 这将在极点等不连续性周围发生惊人的失败。

在大多数情况下,您需要转换为不存在此问题的坐标系。

您还可以查看它所包围的所有点,计算到每个 GPS 点的所有距离,并最小化到所有 GPS 点的距离总和。为此,您需要研究大圆计算。

此外,每个 GPS 可能具有更高或更低程度的不确定性,您应该考虑到这一点并相应地加权它们。

你到底想知道什么?

-亚当

于 2009-02-24T21:08:32.627 回答