如何将相对GPS坐标转换为"本地定制" x,y,z坐标?

时间:2017-09-23 02:13:52

标签: gps geometry coordinates wgs84

我们说我知道有两个人站在 GPS 位置ABA正在查看B

我想知道B {(1 {}},xy)基于z的坐标 A轴是+y的方向(因为B正在查看B),A是垂直于天空。 (因此+z+x

的右侧

我知道如何将 GPS 坐标转换为 UTM ,但在这种情况下,似乎需要进行坐标系旋转和平移。我将提出一个计算,但在此之前,是否会有一些代码可供查看?

我认为这必须由许多应用程序处理,但到目前为止我找不到。

1 个答案:

答案 0 :(得分:0)

  1. 将展位点转换为3D笛卡尔

    GPS 建议 WGS84 ,请参阅How to convert a spherical velocity coordinates into cartesian

  2. 使用所需的轴构建转换矩阵

    Understanding 4x4 homogenous transform matrices。所以你需要3个垂直单位向量。 Y是查看方向,所以

    Y = normalize(B-A);
    

    其中一个轴最有可能是向上矢量,因此您可以使用近似值

    Z = normalize(A);
    

    作为原点,您可以直接使用点A。现在只需利用交叉产品来创建垂直于两者的X,并使Y垂直于XZ(所以保持向上)。有关详细信息,请参阅Representing Points on a Circular Radar Math approach

  3. 通过该矩阵从B转换为B'

    再次在#1 中链接的 QA 是如何做到的。它是简单的矩阵/向量乘法。