【发布时间】:2019-05-15 07:48:51
【问题描述】:
我正在尝试计算this link 中给出的两个纬度/经度点之间的方位角。我看到我们最初使用下面的等式得到的方位是初始方位。
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)。
我对初始方位和最终方位之间的区别感到困惑。 这个初始方位和最终方位是什么,我们应该将哪个方位作为两点之间方位的最终答案。
【问题讨论】:
标签: gis geospatial spatial spatial-data