从附近地区的经纬度位置

时间:2011-02-25 17:06:10

标签: geometry geolocation distance latitude-longitude

如何计算一个地方的纬度 - 经度,当它附近3个地方的纬度 - 经度信息以及到达该地点的距离时?

例如,A,B和C是纬度 - 经度(x1,y1),(x2,y2)和(x3,y3)的三个位置。设D分别距离A,B和C的距离为k1,k2和k3-km。如何确定D的纬度 - 经度

如果所有这些点,A,B,C和D都在一个平面上,那么这可以通过确定三个圆的交点来计算,A,B和C的半径为k1,k2和k3,分别。但是,当点在球体上而不在圆上时,如何确定位置?

2 个答案:

答案 0 :(得分:1)

从飞机开始,这是建议的3个圆圈的替代方法:

  • 由于你知道A,B和C的坐标,你可以计算AB,AC和BC的长度。
  • 让X标记我们想要找到的点。
  • 我们知道AX = k1,BX = k2且CX = k3
  • 现在绘制3个三角形:ABX,ACX,EDX。我们知道它们所有边缘的长度,因此我们可以计算出角度。
  • 了解所有坐标,长度和角度,我们可以计算出X的坐标。

对于球体 - 可以使用几乎相同的想法。但是:

  • 坐标应为Lat / Lon弧度
  • 应使用大圆距离公式计算距离。见Aviation Formulary
  • 三角形中的总角度不是180° - 介于180和540之间。
  • 了解边长,可以使用spherical law of cosines
  • 计算角度
  • 现在,可以计算X的坐标。

需要一些时间来习惯使用spherical trigonometry,但这是解决此类问题的正确工具。

答案 1 :(得分:0)

我假设k1,k2,k3是球体上的距离。

您可以使用a special case of the Vincenty formula最精确地解决此问题。使用x,y和k的三组值,您可以设置一个方程组来求解第四点的纬度和经度。由于其复杂性,解决这个系统可能会非常棘手,但可能有计算工具可以执行这样的解决。