トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2012-4-22の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!で"測地系WGS84の2点間距離をPerlで既述{{category GPSネタ}}
[2点の緯度経度から点間距離を計算するには?|http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200906/09060085.txt] ( http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200906/09060085.txt )を参考にやってみる
元ネタとなる"[2点の緯度経度から点間距離を計算するには?|http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200906/09060085.txt] ( http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200906/09060085.txt )"を参考にやってみる
 # 測地系WGS84の2点間距離を求める(ヒュベニ(Hubeny) の距離計算式から)
 #  呼出 &Hubeny ( 緯度Ba,経度La,緯度Bb,経度Lb ) ; 実数,実数,実数,実数
 #  戻値 距離(m)                                 ; 実数
 sub Hubeny {
 	my($B0,$L0,$B1,$L1) = @_;
 	my $PI = 3.14159265358979653189;
 	my $E5 = (($B0+$B1)/360)*$PI;
 	my $F5 = ($B0-$B1); 
 	my $G5 = ($L0-$L1); 
 	my $H5 = 6334834/sqrt((1-0.006674*sin($E5)*sin($E5))**3);
 	my $I5 = 6377397/sqrt(1-0.006674*sin($E5)*sin($E5));
 	return (sqrt(($H5*$F5*$PI/180)*($H5*$F5*$PI/180)+($I5*cos($E5)*$G5*$PI/180)*($I5*cos($E5)*$G5*$PI/180)));
 }