2地点の緯度経度から距離を求める(概念編の詳細)

前回の記事(my-hobby : 2地点の緯度経度から距離を求める(Google MAPS APIとの比較~結果報告編~))でgoogleMAPS APIの計算式の検証を行ないました。
その際に検証用として使用した図に対して、メンバーのもじゃもじゃさんから「なぜこの様な図が出来上がるのか?詳しく教えて欲しい」という話があったので、今回はmy-hobby : 2地点の緯度経度から距離を求める(Google MAPS APIとの比較~概念編~)で提案した図についてもう少し詳しく説明したいと思います。
またこの図を使って、ちょっとした実験もしてみたいと思います。

この記事を見て、図に興味を持った方は是非見ていってください。
図のサンプル

図1

図1

●初めに、この図で検証しようと思ったきっかけ
2地点の緯度経度の距離を数字で比較するよりかは、ビジュアル的な図で比較した方がぱっと見た感じ解りやすくて良いと思ったからです。

●この図を一言で言うと
A地点からB地点までの距離を点の集合体で表現した図です。
A、B地点の意味は、my-hobby : 2地点の緯度経度から距離を求める(Google MAPS APIとの比較~概念編~)を参考にしてください。

●詳細な説明
先ずこの図は、A地点を中心に上下左右が対称である事が分かります。
つまり、縦2等分、横2等分に4分割したいづれの部分も、同じ理論で描画されている事になるので、どこか1箇所を説明すれば、それが他の3箇所にも当てはまる事になります。
そこで、今回は右上のエリアに絞って説明を行ないます。
右上のみに絞った図を以下に示します。

図2

図2

この点について全てを説明するのは大変なので、更にいくつかポイントを絞って説明していきます。
1.B地点が東経0~180度、北緯90度(北極点)の場合の距離(図3参照)
この図は、地球という球面を平面に見立てて距離を求めようとしているのですが、平面の場合、単純に3平方の定理を使用して、2地点の長さを求めると、その距離は2点(A地点、B地点)を対角線で結んだ長さとなります。※青色の線
しかし(2地点の緯度経度)で紹介した計算式(ここでは「ろっきー方式」とさせて頂きます)を使用して解くと、必ずしも2点を対角線で結んだ長さにはなりません。※赤色の線
この1の例で言うと、ろっきー方式を使用して2地点の距離を求めると、B地点の経度は異なるのですが、実は北極点の1点をさしているので、全て同じ計算結果になります。

図3

図3

実際の計算結果は以下の通りです。

A地点 B地点
緯度 経度 緯度 経度 距離(Km)
0 0 90 0 9990
0 0 90 10 9990
0 0 90 20 9990
0 0 90 30 9990
0 0 90 40 9990
0 0 90 50 9990
0 0 90 60 9990
0 0 90 70 9990
0 0 90 80 9990
0 0 90 90 9990
0 0 90 100 9990
0 0 90 110 9990
0 0 90 120 9990
0 0 90 130 9990
0 0 90 140 9990
0 0 90 150 9990
0 0 90 160 9990
0 0 90 170 9990
0 0 90 180 9990

この計算結果を図に反映させると、A地点を中心とした半径(距離Km)の円を描く様な図が出来上がります。

2.B地点が東経180度、北緯0~90度の場合の距離(図4参照)
距離の長さを赤線で示していますが、1の円形と違って、楕円を描くような感じの図になっています。
北緯90度から0度に移動するにつ入れて、距離が長くなっている事になります。
1の場合はB地点がいづれも北極点を指していた為、距離が同じでしたが、今度は北極点から赤道に向かってB地点が配置されている為、距離が伸びていく結果になります。

図4

図4

実際の計算結果は以下の通りです。

A地点 B地点
緯度 経度 緯度 経度 距離(Km)
0 0 90 180 9990
0 0 80 180 9534
0 0 70 180 10347
0 0 60 180 12006
0 0 50 180 13991
0 0 40 180 15937
0 0 30 180 17621
0 0 20 180 18906
0 0 10 180 19708
0 0 0 180 19980

これでもいまいちイメージが付きづらいと思うので、ちょっと視点を変えて、地球を球体として見るとどの様になるか図にしてみました。(図5)

図5

図5

図4の青枠の線と、図5の青枠の線は同じ場所を指しています。
図4では分かりませんでしたが、図5の様に視点を変えてみると、A地点からの距離が伸びているのが分かると思います。

この様な計算結果を今回提案したような図に描くと、図1の様な図形が出来上がります。
これを踏まえると、基準となるA地点と、計測対象となるB地点の緯度経度が分かれば、地球上のどこの場所の地図でも描く事が出来るという事です。

では冒頭にも書きましたが、試しにこの図の概念を使って面白い実験をしてみたいと思います。
JR東京駅をA地点、東京都内の各地域をB地点として、それぞれの2地点の距離を使用して東京都の形を描いてみたいと思います。
B地点となる緯度経度情報については位置参照情報ダウンロードサービスより取得しました。

約5200箇所のB地点の緯度経度情報を元に、それぞれの距離計算して作成した図は以下の通りです。
ちなみに、ろっきー方式は精度が悪いので、より精度の良いGoogleMAPS APIと近い計算結果になった計算式で描画してみました。

図6

図6

うーん・・・何となく東京都っぽい形が浮かび上がりました。
※言われてみないと分かりませんが・・・
B地点の緯度経度情報が均等で無い為、山岳部などは点の数が少なくなっています。
逆に都心部はそれなりの形を成しています。
ちなみに、各市区町村別のB地点の数は以下の通りです。

都道府県名 市区町村名 緯度経度(B地点の数)
東京都< 神津島村 1
東京都 小笠原村 2
東京都 西多摩郡日の出町 2
東京都 新島村 2
東京都 八丈町 5
東京都 三宅村 6
東京都 福生市 20
東京都 西多摩郡瑞穂町 22
東京都 稲城市 23
東京都 国立市 27
東京都 狛江市 41
東京都 清瀬市 43
東京都 小金井市 45
東京都 武蔵野市 51
東京都 羽村市 51
東京都 荒川区 52
東京都 東村山市 53
東京都 あきる野市 53
東京都 三鷹市 62
東京都 武蔵村山市 63
東京都 小平市 65
東京都 大島町 68
東京都 文京区 68
東京都 国分寺市 70
東京都 東大和市 72
東京都 昭島市 75
東京都 立川市 79
東京都 東久留米市 80
東京都 渋谷区 80
東京都 豊島区 83
東京都 中野区 85
東京都 多摩市 87
東京都 目黒区 88
東京都 中央区 98
東京都 調布市 102
東京都 墨田区 104
東京都 台東区 108
東京都 日野市 109
東京都 北区 113
東京都 西東京市 114
東京都 千代田区 115
東京都 港区 117
東京都 品川区 130
東京都 板橋区 134
東京都 町田市 137
東京都 杉並区 139
東京都 青梅市 144
東京都 府中市 147
東京都 江東区 149
東京都 新宿区 152
東京都 葛飾区 155
東京都 江戸川区 196
東京都 八王子市 199
東京都 練馬区 202
東京都 大田区 216
東京都 足立区 267
東京都 世田谷区 277

何かこの図の考え方は他にも応用が利きそうですが、またアイデアが浮かんだら記事にしたいと思います。
いきなりこの記事を読んだ方!意味不明かと思いますので、興味があればバックナンバーを参考にして下さい。

カテゴリー: flashcast, 緯度経度検索 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です