デスクトップGISを設計するときに、20年前にこの質問を正確に調査しました。ポイントツーポイントの距離をインタラクティブに見つける必要がありました。私たちの目標は、数千のポイントに対して1/2秒未満で計算を行うことでした。テスト(25 MHz 486 PC!)では、説明したとおりに(単純な明白なアルゴリズムを使用して)すべての距離を計算できるため、クアッドツリー構造などのより洗練されたソリューションを作成するのは無意味であることが示されました。
単一の「プローブ」ポイントまでの距離を計算するには、(a)プローブポイントを中心とした等距離投影を使用してすべてのポイントを投影するか、(b)球体地球モデルを採用してHaversine式を使用します。楕円モデルの精度が必要な場合は、最初の方法が適切です。どちらの場合でも、計算はかなり速く、おそらく1000ティック未満で済みます。単一のプロセッサで1秒あたり約100万ポイントをクエリできます。
あなたに十分な速さ?そうでない場合、ブルートフォース方式は簡単に並列化され、プロセッサの数に直接スケーリングされます。ポイントをプロセッサ間で分割し、各プロセッサで見つかった最も近いポイントの最終比較を行うだけです。
より速くする必要がある場合は、スクリーンポイントにさまざまな近似値を使用できます。たとえば、緯度が-88〜+88度で、これまでに見つかった最も近い地点が200 km離れている場合、緯度がプローブポイントの緯度と2度を超えて異なる点は、近くに位置することはできません。地球では、1度の緯度が約110 kmを超えています)。多くの場合、この種の事前スクリーニングにより、1秒間に何億ものポイントを処理できるようになります。