从相对位置P2(x y z坐标)计算纬度/经度

时间:2015-06-28 23:20:58

标签: google-maps gps latitude-longitude

我在地图上的某个点P2的相对位置为x y z坐标。该位置相对于某个位置P1由其经度和纬度以及航向定义。 如何计算P2的经度和纬度?

例如:P2:x = 24,y = 26,z = 30 P1:lat / lng:53.090734,10.435428,航向110°。

P2相对于P1。如何计算P2 lat / lng?

这是我尝试的但它不起作用。

latP2 = latP1 - (Math.sin(Math.toRadians(heading)) * X + Math.cos(Math.toRadians(heading)) * Y) * (1.0 / 111000.0);
    lonP2 = longP1 + (Math.cos(Math.toRadians(heading)) * X + Math.sin(Math.toRadians(heading)) * Y) * (1.0 / 71500.0); 

我想我不需要在计算中使用z值:

1 个答案:

答案 0 :(得分:0)

从updaten quetsion和讨论中,你得到了lat,lon和视线方向的坐标,以相对于North的度数来衡量。 另外,你有一个以米为单位的偏移x,y。 现在你想要新的位置,例如增加y与视线相关的位置。

这样的计算总是遵循相同的原则。

  1. 将lat / long cooridnate(s)转换为本地笛卡尔坐标系,以米为单位。 (现在你在学校里学习了x,y坐标位置)

  2. 在学校学习(vektor)数学,这会给你一个新的观点。

  3. 使用逆变换将新点转换回来。
  4. 对于第1步和第3步,请参阅Find intersection of two Locations 以及聊天中的讨论