web-dev-qa-db-ja.com

地理空間インデックスはどのように機能しますか?

MongoDBで使用されているような地理空間インデックスがどのように機能するのか疑問に思っています。内部で使用されているデータ構造/アルゴリズムを誰かが説明できますか?検索は何時に実行されますか?

リソースへのリンクも素晴らしいでしょう。

36
Scott Hyndman

データ型と使用パターンに応じて、 R-Tree またはバリアント( R *R + )または quadtree またはおそらく kd-tree

16
codekaizen

この他によると SO質問

現在の実装では、標準のMongoDBBツリーの上に地理ハッシュコードをエンコードしています。 $ nearクエリの結果は正確です。このエンコーディングの制限の1つは、高速ですが、プレフィックスルックアップでは、特にビットフリップ領域の周囲で正確な結果が得られないことです。 MongoDBは、最初のプレフィックススキャンの後にグリッドネイバー検索を実行してストラグラーポイントを取得することでこれを解決します。これにより、通常、正しい結果を提供しながら、パフォーマンスを非常に高く保つことができます。

4
Scott