記事No |
: 956 |
投稿日 |
: 2021/11/07(Sun) 17:17:09 |
投稿者 |
: JA9AOB 銅子 |
> JA9AOB 銅子さん、ありがとうございます。
>
> > GLを使っていますが、緯度・経度に直して方位と距離を出します。
> > 送って置きました。参照下さい。
>
> C# からVB.net に変換して見ましたが数か所エラーが出ます。
> 調査中ですが対処出来るかどうか?
>
> どなたか、他にも2点間の緯度経度から方位を求めるコードがありませんか?
>
> VB.net版が良いですが、C++ や C# でも変換努力しますが。
太田さん どこでエラーになりますか。
from の緯度経度
to の緯度経度
をラージアンに変換して 次の式に代入するだけです。
ラージアンとは角度180度 をπラージアン と言いますπは約3.14です Math.PI です
緯度経度をラージアンに直すのは 角度*π/180 で得られます 変数は
double で十分です
πが字が変わって読みにくいですがパイ です
const double r=6378.137; // km---- これは地球の半径
double sa = tolongitude - fromlongitude;
distance = r * Math.Acos(Math.Sin(fromlatitude) * Math.Sin(tolatitude) + Math.Cos(fromlatitude) * Math.Cos(tolatitude) * Math.Cos(sa)); // Km
origin = 180.0 * Math.Atan2(Math.Sin(sa), Math.Cos(fromlatitude) * Math.Tan(tolatitude) - Math.Sin(fromlatitude) * Math.Cos(sa)) / Math.PI; // 度
if (origin < 0)
origin = origin + 360;
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!