~1M 行の配列 A と ~400K 行の配列 B の 2 つの配列があります。それぞれには、特にポイントの座標が含まれています。配列 A の各点について、配列 B の点の数が配列 A から一定の距離内にあることを確認する必要があります。すべてのものとすべてのものを単純に比較しないようにするにはどうすればよいですか? 最初の速度に基づいて、単純に実行すると、私のマシンで 10 日以上かかります。これにはネストされたループが必要でしたが、配列が大きすぎて距離行列を構築できません(400G エントリ!)
各 A 座標に対して B 座標の限られたセットのみをチェックする方法だと思いました。しかし、私はそれを行う簡単な方法を決定していません。つまり、B のすべての値をチェックする必要のない選択を行うための最も簡単で迅速な方法は何ですか (これは、私が避けようとしているのとまったく同じタスクです)。
編集:これらは2D(またはnD)デカルトではなく、球面(緯度/経度)であり、距離は大円距離であることに言及する必要がありました。