我正在尝试计算此链接中给出的两个纬度/经度点之间的方位角。我看到我们最初使用以下等式得到的方位是初始方位。
public static double GetBearing(double latitude1, double longitude1, double latitude2, double longitude2)
{
var lat1 = ToRadians(latitude1);
var lat2 = ToRadians(latitude2);
var longdiff = ToRadians(longitude1 - longitude2);
var X = Math.Cos(lat2) * Math.Sin(longdiff);
var Y = Math.Cos(lat1) * Math.Sin(lat2) - Math.Sin(lat1) * Math.Cos(lat2) * Math.Cos(longdiff);
var bearing =ToDegrees(Math.Atan2(X, Y));
return (bearing+360)%360;
}
鉴于
对于最终方位角,只需将初始方位角从终点带到起点并将其反转(使用 θ = (θ+180) % 360)。
我对初始轴承和最终轴承之间的区别感到困惑。这个初始方位和最终方位是什么,我们应该将哪个方位作为两点之间方位的最终答案。