已知两点经纬度的情况下,如果是将经纬度转为投影坐标,则计算量大并且存在子午线收敛角误差,同理,先将经纬度转为空间直角,再计算方位角也不可取,以下是一个简化计算的近似算法,可供参考。
double dpi = 0.017453292519943295;
// 计算方向角
//
double yy = sin((lonA - lonB) * dpi) * cos(latA * dpi);
double xx = cos(latB * dpi) * sin(latA * dpi) - sin(latB * dpi) * cos(latA * dpi) * cos((lonA - lonB) * dpi);
double yaw_AB = atan2(yy, xx) / dpi;