2/2)でglobal化が完了して一段落しましたが、メンバーのもじゃもじゃさんから、以下の様な話が出ました。APIにも、2地点の緯度経度から距離を求めるAPIがあるんだけど、ろっきーが紹介している方法とどちらの方が精度がいいのか知りたい」googleの精度(以降「google方式」とします)に勝つつもりは無いですけど、ろっきーが紹介した方法(以降「ろっきー方式」とします)とどれだけ精度に差があるのか気になるところなので、せっかくだからこの疑問に対して自分なりの答えを出してみたいと思います。どの様にして両者を比較すればよいのか?比較と言うからには、やっぱり2地点のそれぞれの緯度経度から、「ろっきー方式」と、「google方式」を使用して、どの様な距離が算出されるかを比較すればよいという事になります。テスト対象となる、2地点の緯度経度はどの様に決めるべきか?ただ、単に1ケースだけでは、全体的な計算結果の差を把握する事は出来ません。全世界を網羅し、かつ簡単な(解り易い)テストケースであるのが、現時点では望ましいと言えます。単純な方法として、以下の様な方法を考えました。(1~4を順番に行なう)1.東経0度、北緯0度の位置にポイントを打ち、これをA地点とします。2.東経0~180度、西経0~180度、北緯0~90度、南緯0~90度の範囲(地球全体)で、それぞれ10度毎に線を引き、線が交差した部分にポイントを打ち、これをB地点とします。図1-A地点とB地点の配置イメージ-※世界中にB地点として、703個のポイントが打たれます。703=横(経度10度間隔)×縦(緯度10度間隔)=37×19=(360÷10+1)+(180÷10+1)=(360÷10+1(経度0度上のポイント))+(180÷10+1(緯度0度上のポイント))3.A地点と、703箇所のB地点それぞれに対して、「ろっきー方式」「google方式」で距離を求める。4.両者で算出された距離を比較する。この結果をそれぞれ比較すれば、両者の計算結果にどれだけの違いが出てくるかが解ります。それぞれの計算結果(数値)を比較しても個々の差がどれくらいあるかは解りますが、全体的な差のイメージが湧きません。そこで、計算結果の距離をビジュアル的に表現してみたいと思います。距離をどの様にして表現するのか?とりあえず今回は以下の様な方法を考えてみました。A、Bの2地点に対して距離を求めた場合、通常の2次元の世界であれば、A地点からB地点までを直線で引いた長さが距離となります。3次元である円い地球を、図1の様に2次元上で表現している為、A地点とB地点を直線で結んだ長さが実際の距離にはなりません。単純に2次元上でA地点(0,0)、B地点(150,30)の2点に対して3平方の定理を使用して、斜辺の長さを求めると、152.97となります。これに1度あたりの距離111Kmを掛けると、16979.73Kmとなります。これを実際の地球に想定して、東経0度、北緯0度と、東経150度、北緯30度としての2地点の距離を「ろっきー」方式で求めると、15427.82Kmとなります。GoogleAPI~2つの住所から距離を求める~を参照して下さい。図2-2地点の実際の距離-上記の計算結果で得られたこの結果(図2)の距離を点として画面上に描画して、これを703のポイントに対して全て行ないます。すると、A地点(東経0度、北緯0度)からB地点(703個のポイント)のそれぞれに対しての距離が点として描画される為、距離を基準とした「703個の点の集合からなる図形」が出来上がります。これを「Google方式」、「ろっきー」方式のそれぞれに対して行い、先ずはビジュアル的に両者の計算結果を確認してみようという作戦です!結果がどうなるか分かりませんが、興味がある方はこの「研究」にお付き合い下さい。※研究なので失敗する事もあります。このテストの為に、専用のアプリをVB.netで開発してしまいました!では先ず手始めに、「ろっきー」方式から試してみたいと思います。どの様な図形が浮かび上がるのか?結果は次回報告したいと思います。コメントをキャンセルメールアドレスが公開されることはありません。