Googleマップを使用して地球上の一連のポイントをマッピングするプロジェクトを開始しています. 地球上の平均点(すべての点までの合計距離が最も短い点)を見つけたいのですが、地球を一周すると距離が短くなる可能性があるため、どのように処理すればよいかわかりません。(-178 度から 178 度の経度は、経度 356 度ではなく 4 度しか離れていません)。API呼び出しを介して、または数学的な観点から、これにアプローチする最良の方法は何ですか?
2 に答える
目的の点に閉じた形の表現を与える滑らかな幾何学的な議論があるのではないかと私は強く疑っています。それにもかかわらず、ここに、任意の精度の範囲内で答えを与える単純なアルゴリズムがあります。
https://gist.github.com/amitkgupta/5019163
数学的に満足のいくソリューションが必要な場合は、http://math.stackexchange.comに問い合わせることをお勧めします。そうでない場合は、http://mathoverflow.netにエスカレーションしてください。
シンプルで迅速な解決策を提案できます(ただし、最初のタスクを正確にすることはできません)。ポイントの重心を見つけると、次の2 つの状況が考えられます。
球の中心にあります - どうすればよいかわかりません (最初の点が互いに近くに分布している場合 - これは起こりません)
それ以外の場合 - 質量の中心と球の中心を持つベクトルを終了点と開始点と見なし、そのようなベクトルが球の表面と交差する場所、その点を見つけます - が答えです。
そのため、「中間点」に多少似た点が得られますが、考慮中のサーフェスが非常に小さい場合のみです (すべての点が同じ都市内にある可能性があります)。しかし、結果から初期点までの最小平均距離とは何の関係もありません。