我在地图上的某个点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值:
答案 0 :(得分:0)
从updaten quetsion和讨论中,你得到了lat,lon和视线方向的坐标,以相对于North的度数来衡量。 另外,你有一个以米为单位的偏移x,y。 现在你想要新的位置,例如增加y与视线相关的位置。
这样的计算总是遵循相同的原则。
将lat / long cooridnate(s)转换为本地笛卡尔坐标系,以米为单位。 (现在你在学校里学习了x,y坐标位置)
在学校学习(vektor)数学,这会给你一个新的观点。
对于第1步和第3步,请参阅Find intersection of two Locations 以及聊天中的讨论