LUNARAVE WEBクリエイターの仕事と休息

アクセスカウンタ

Google Maps APIの利用戦国IXAWeb技術Youtubeチャンネル

zoom RSS 2点間の座標から距離を求める -三角関数-

<<   作成日時 : 2008/05/09 12:35   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 7 / トラックバック 0 / コメント 2

"Google map"など地図情報を扱っていると必ず要望として挙がるのが「○○〜□□の間にある情報を検索」や「△△地点から半径1Km以内にある情報を検索」といった座標を用いる機能だ。

"Google map"の関数自体には座標を取り扱うものがあるようだが、データベースとCGIを利用しているWebアプリケーションの場合は自作しなければならない。


PostgreSQLの場合、SQLで操作できることは以前の記事で紹介したのだが全てのクライアントがPostgreSQLで動作できる環境とは限らない。


そこで、同じことを試みた人がいないか調べたがなかなか見つからない。

しかし、緯度経度の数値がわかればある程度の距離数が割り出せることがわかった。


1.0Km ≒ 0.009 〜 0.01


若干の誤差が出るものの、おおよその算出ができそうだ。

右辺の数値は2点間の座標の距離を表す。

距離を求めるには"三角関数"しかない。

 三角関数


"三角関数"は3D絵画では当たり前のように使われているが、まさかここにきてまた使うことになるとは思いもよらない。

学校で訳もわからず公式の勉強をしていたが、その式がどこで利用されるかも教えてくれれば意欲を出す生徒も増えるのではないだろうか。


さて、次に早速、2点間の座標を用意する。

 2点間

大阪駅:(34.70185946446266, 135.49503922462463)
なんば駅:(34.66356103107111, 135.5018788576126)


この2つの座標を上記の式に当てはめて"L"を出す。

PHPの場合は以下の式になる。

$l = sqrt(pow(abs($m - $x),2) + pow(abs($n - $y),2));



Excelの場合は以下の式になる。

=(((SUM(A1)-B1)^2)+((SUM(A2)-B2)^2))^(1/2)



これで算出した結果は"0.038904"。


すなわち、0.038904 ≒ 3.8Km となる。


実際に地図上で直線距離を測ってみると合っているようだ。


始めは地図座標はどこか扱いづらいイメージがあったが、数値として見れば扱いやすいことがわかる。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 7
なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
ナイス

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
俺の脳内では三角関数ってsin・cos・tanのことなんだが・・・
座標から距離の算出の式は三平方の定理じゃね?

任意の2点の座標とそれらを結ぶ直線と緯線(もしくは経線)とが為す角θが分かれば、三角関数でも距離は出せるが、三平方のが楽ですw

・・・数学系人間のどうでもいいツッコミですた
葉子
2008/05/11 01:15
三角関数といいながら"関数"使ってないなw
まさしく"三平方の定理"・・・。
中学校ぐらいで習うかな。
LUNARAVE
2008/05/12 08:01

コメントする help

ニックネーム
本 文
2点間の座標から距離を求める -三角関数- LUNARAVE WEBクリエイターの仕事と休息/BIGLOBEウェブリブログ
文字サイズ:       閉じる