私は2つのArrayList、Doubleデータ型、1.latitudes 2.経度を持っており、それぞれに200以上の要素があります
たとえば、(1.33, 103.4) というランダムなテスト座標を与えるとします。形式は [緯度、経度] です。
最も近い点を簡単に見つけるアルゴリズムはありますか、またはすべての可能な点を力ずくで計算し、斜辺を見つけてから、200 以上の斜辺を比較して最も近い点を返す必要がありますか? ありがとう
私は2つのArrayList、Doubleデータ型、1.latitudes 2.経度を持っており、それぞれに200以上の要素があります
たとえば、(1.33, 103.4) というランダムなテスト座標を与えるとします。形式は [緯度、経度] です。
最も近い点を簡単に見つけるアルゴリズムはありますか、またはすべての可能な点を力ずくで計算し、斜辺を見つけてから、200 以上の斜辺を比較して最も近い点を返す必要がありますか? ありがとう
配列がソートされている場合、バイナリ検索を使用して、配列内の要求されたポイントの位置を見つけることができます。インデックスを見つけたら、近くの 4 つのポイントをチェックして、最も近いものを見つける必要があります。
1) 経度と緯度で並べ替えられた 2 つの配列があるとします。
2) 最初の 1 点を検索し、近くの 2 つの点を見つけます
3)次に、2 番目の点を検索して、さらに 2 つの点を見つけます。
4)これで、2 から 4 のポイントが得られました (結果が交差する可能性があります)。
5) これらの点は、目的点の周りに正方形を形成します
6) 最も近い点を見つける
最も近い緯度 (または経度) 値を選択して経度 (緯度) 軸を検索する必要があるというのは正しくありません。
最善の方法は、すべての距離を計算して並べ替えることです