6

私は2つのArrayList、Doubleデータ型、1.latitudes 2.経度を持っており、それぞれに200以上の要素があります

たとえば、(1.33, 103.4) というランダムなテスト座標を与えるとします。形式は [緯度、経度] です。

最も近い点を簡単に見つけるアルゴリズムはありますか、またはすべての可能な点を力ずくで計算し、斜辺を見つけてから、200 以上の斜辺を比較して最も近い点を返す必要がありますか? ありがとう

4

3 に答える 3

0

配列がソートされている場合、バイナリ検索を使用して、配列内の要求されたポイントの位置を見つけることができます。インデックスを見つけたら、近くの 4 つのポイントをチェックして、最も近いものを見つける必要があります。

1) 経度と緯度で並べ替えられた 2 つの配列があるとします。

2) 最初の 1 点を検索し、近くの 2 つの点を見つけます

3)次に、2 番目の点を検索して、さらに 2 つの点を見つけます。

4)これで、2 から 4 のポイントが得られました (結果が交差する可能性があります)。

5) これらの点は、目的点の周りに正方形を形成します

6) 最も近い点を見つける

于 2013-09-23T18:16:24.987 に答える
0

最も近い緯度 (または経度) 値を選択して経度 (緯度) 軸を検索する必要があるというのは正しくありません。

摩耗アプローチ

最善の方法は、すべての距離を計算して並べ替えることです

于 2015-02-19T09:22:55.130 に答える