Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
何百万もの緯度/経度のペアを含むデータベースがあります。特定の緯度/経度ペアから指定された距離内にあるすべての緯度/経度ペアを収集する関数を実装したいと考えています。データベース内の各ペアを繰り返し処理し、そのペアと指定されたペアの間の距離を計算するよりも、これを行うためのより良い方法はありますか? 力ずくで回避できるなら避けたい!
指定された緯度と経度のペアから 1 マイルを超える緯度と経度のペアを検索することは決してないことを付け加えておきます。
多くのデータベースは、空間タイプのストレージを直接サポートしており、空間クエリを含んでいます。これにより、距離の計算が正しく処理されるだけでなく、情報を取得するはるかに効率的な手段が提供されます。
例については、次を参照してください。
できることは、事前にデータベースをクラスター化することです。この場合、データベースをたとえば 3 マイルのクラスターに分割します。次に、検索を行うときに、同じクラスター内のポイントを比較するだけで済みます。