この質問の解決策はC#で見つかりましたが、C#の実装には分岐が必要なため(そうでない場合)、単一のクエリT-SQLに変換できません。
また、次のC#ソリューションを見つけました。これは、単一のクエリT-SQLに変換できますが、正しい結果が得られません。
public static double GetAzimuth(WGSCoord c1, WGSCoord c2) {
var lat1 = DegToRad(c1.Latitude);
var lon1 = DegToRad(c1.Longitude);
var lat2 = DegToRad(c2.Latitude);
var lon2 = DegToRad(c2.Longitude);
return RadToDeg(Math.Asin(Math.Sin(lon1 – lon2) * Math.Cos(lat2) / Math.Sin(Math.Acos(Math.Sin(lat2) * Math.Sin(lat1) + Math.Cos(lat1) * Math.Cos(lat2) * Math.Cos(lon2 – lon1)))));
}
Tamir Khasonからのコード–コードだけ
誰かが上記のコードを修正するか、別の解決策を提供できますか?