2012-05-10 11 views
0

私は緯度と経度のLocationCollectionを持っています。円の中心の緯度/経度を取得する必要があります。サークルの中心座標はどのように計算されますか?LocationCollectionを指定して円の中心を見つける

編集:LocationCollectionの緯度/経度は円の全体の円周を構成します。混乱させて申し訳ありません。

+0

「円の中心」を意味するものを定義してください。あなたは一種の重心を計算したいと思うのですが、これを見てください:http://en.wikipedia.org/wiki/Centroid –

+0

どのような円ですか?あなたは言わなかった。 –

+0

追加情報がありますか?半径が最も役立ちます。円の方程式の標準形式は、(h、k)が中心であり、rが半径であり、(x、y)が(x、y)の任意の点であるサークル。 半径または直径を持たない場合、ブルートフォースアプローチは、コレクション内の2つの点の間の最大距離を見つけることによって直径を見つけようとすることかもしれません。 もちろん、これはコレクションに2つの反対側の点がある場合にのみ機能します。確実に直径を見つけることができない場合は、直径が>見つかった値以上であることを少なくとも知っています。 – James

答えて

0

どのサークルを参照していますか?緯度は1つの円であり、経度は別の円であることを忘れないでください。座標を球の中心にしたいと思うでしょう。私はあなたに解決策を説明しようとする可能性がありますが、this answerはあなたを始めるのに十分です。

0

あなたのコレクションに3つのポジションがあり、ポジションサークルの半径があまり大きくない(50km未満)場合は、circle from 3 pointsを計算する式を使用して間違ってはなりませんGoogle)、(およそ)球の地球上の緯度/経度座標がデカルト平面上のy/x座標であると偽装しています。

3つ以上のポジションがある場合、サークルには多すぎる - 問題は、(たとえば)8ポジションからサークルを計算できないことではなく、8-choose-3==56サークルを計算できるということです。一致する可能性は非常に低い。この場合、あなたはそれらをすべて束縛するために1つの円を見つけるためにある種の平均化を行うことができます。

あなたが探している円の半径が大きくなると(私はここで意図的に漠然としています)、地球の表面への平面近似が悪化し、平面幾何学によって楕円形状に近づくほどますます不十分になります。例えば、球の表面上で、2つの点は、それらが円の無限を定義する対蹠でない限り、円(両方の点を通過する大円)を定義する。今、あなたはもっともっともっと賢明になる必要があります...

関連する問題