如何找到一个gps坐标矢量与另一个gps坐标矢量的相对角度?

问题描述 投票:0回答:1

我提取了一组三个坐标,我想找到它们两个向量之间的相对角度。

  • P1:57.3112, 25.24871
  • C1:57.31105, 25.24875
  • T1:57.31086, 25.24803

例如:V1 = C1 - P1V2 = T1 - C1,然后从V1V2取角度。

但是我担心笛卡尔函数不会在这里剪裁,因为在实际应用中,坐标可能会跨越不同的纬度和经度。

我已经搜索过google,但是我所看到的功能无法说服我。我也在我的应用程序中尝试了一些,但是返回的角度未返回预期的结果。

对于这三个点,从视觉上推断,我希望该角度在120-140度左右。

我在地理计算方面的知识有限,这里没有任何线索。

如何计算角度?

math angle geo
1个回答
1
投票

使用this page中的公式,计算从中点到第一个点和第三个点的方位角(方位角)。>>

θ = atan2( sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ )
where   φ1,λ1 is the start point, φ2,λ2 the end point (Δλ is the difference in longitude)

我强调,对于“转角”轴承应从转折点计算-因为对于弧A-B轴承,其起点和终点会有所不同(子午或平行弧等特殊情况除外)。在下一张图片上,方向[[v

与方向u不同(球面上的最短路径称为“大圆弧”)]enter image description here

具有两个轴承,您可以使它们的差值知道所需的角度(不要忘记处理360度以上的过渡)


[球面三角法中也有一种方法-球面余弦定理(重排部分here,但是它需要找到所有三角形边的弧长(可以使用第一个链接找到-但是更多的计算)]
© www.soinside.com 2019 - 2024. All rights reserved.