6

私はPythonで書いているマッピングアプリケーションを書いています.Nポイントの緯度/経度重心を取得する必要があります。2 つの場所があるとします。

a.lat = 101
a.lon = 230

b.lat = 146
b.lon = 200

ユークリッドの公式を使えば、2 点の中心を簡単に求めることができます。2点以上でできるようにしたいです。

基本的に、http://a.place between.us/のようなものを探しています。ここでは、複数のアドレスを入力して、すべての人にとって等距離の場所を見つけることができます。

4

6 に答える 6

7

下記リンク先のpdf文書をご覧ください。Bill the Lizardが言及している平面図形アルゴリズムを球の表面に適用する方法を説明しています。

ポスターのサムネイルと詳細 http://img51.imageshack.us/img51/4093/centroidspostersummary.jpg
ソース: http://www.jennessent.com/arcgis/shapes_poster.htm 25 MB のフルサイズ PDF
も利用可能ダウンロード用。元のソースへのリンクを見つけてくれたmixdevの 功績と、情報を提供してくれた Jenness Enterprises の功績は言うまでもありません。注: 私は、この資料の作成者とは一切関係ありません。

于 2008-12-09T18:44:20.840 に答える
3

Andrew Rollings の回答に追加します。

また、「正しい方向」で測定している 0/360 経度線の両側にポイントがあるかどうかを確認する必要があります。

Is the center of (0,359) and (0, 1) at (0,0) or (0,180)?
于 2008-12-09T18:20:18.407 に答える
3

角度を平均しており、0/360 を超える角度を処理する必要がある場合は、各値の正弦と余弦を合計してから、Average = atan2(正弦の合計、余弦の合計) を使用する方が安全です
(引数の順序に注意してください)。あなたのatan2関数で)

于 2008-12-09T18:56:24.667 に答える
1

ポイントが平面図を形成する場合、計算は非常に簡単です。ただし、一連の緯度と経度がそれほど単純であるという保証はないため、最初にポイントの凸包を見つける必要がある場合があります。

編集: eJamesが指摘しているように、球の表面を修正する必要があります。これが理解されたと(考えずに)思い込んでしまった私の責任です。彼に+1。

于 2008-12-09T18:17:21.127 に答える
0

以下の PDF には、Jenness Enterprises のポスターよりも詳細が記載されています。また、両方向の変換、および完全な球ではなく回転楕円体 (地球など) の変換も処理します。

3-D 直交座標と楕円体緯度、経度、高さの座標間の変換

于 2011-11-11T21:38:11.110 に答える
-2

緯度と経度を個別に平均化します。

于 2008-12-09T20:34:36.467 に答える