ジオハッシュと比較したRツリーの利点


18

ジオハッシュは、Lucene、mongodbなどの製品で広く使用されており、現在の最も重要な技術の1つになっています。

ジオハッシュは古き良きRツリーを置き換えましたか、それともジオハッシュと比較してRツリーには利点がありますか?

回答:


11

Geohashは、空間フィーチャ、特にポイントフィーチャにインデックスを付ける非常にシンプルで効果的な方法です。ラインフィーチャとポリゴンフィーチャのインデックス作成は少し難しくなりますが、実行できます。Geohashは、静的な階層型の固定サイズのグリッドであり、地球の表面にオーバーレイされます。同じ階層レベルのグリッドセルは重複しません。Rツリーは動的なグリッドであり、セルの位置とサイズは、インデックス付けされている機能に応じて変化します。Rツリーインデックスは、データを挿入および更新するたびに境界ボックスとセルが変化する機能を備えています。Geohashは主にポイントフィーチャのインデックス作成に使用され、セルはデータの挿入および更新ごとに変化しません。Geohashセルは、Rツリーのような機能を採用していません。

ジオハッシュのいくつかの利点(rツリーと比較して)は次のとおりです。

  • 簡単な実装
  • 機能の数が増えてもパフォーマンスが低下しない
  • 近接検索(部分的に真)

(r-treeと比較した)ジオハッシュの欠点のいくつかは次のとおりです。

  • グリッドの任意の精度
  • ラインおよびポリゴンフィーチャのインデックス作成(およびクエリ)が困難
  • インデックスのサイズは、ラインおよびポリゴンのインデックス付けのいくつかの方法で大きくなる可能性があります
  • 仕様により、経度/緯度座標系でのみ使用できますが、他の座標系にも同じ方法を適用できます

ジオハッシュは主にポイントのインデックス作成に使用され、そのような機能を必要とする多くのアプリケーションがあるため、これらの製品(データベース)はジオハッシュを使用します。線とポリゴンはあまり使用されないため(もちろんGISアプリケーションを除く)、なぜそれを気にするのでしょうか。他の理由は、もちろん、実装の容易さです。Geohashは、2次元座標を1次元値に変換します。これは次元削減と呼ばれます。1次元の値は、これらの製品で主に使用される標準のBツリーによって簡単にインデックス付けできます。

ジオハッシュに類似したアルゴリズムがありますが、それらのほとんどは専有のものであり、ライセンスが必要です。Geohashはパブリックドメインです。これは、近年のこのような大規模な使用の理由にもなり得ます。

おそらく他にもいくつかの長所と短所がありますが、これらは最初に思い浮かぶものです。私の説明が少し役立つことを願っています。


なぜジオハッシュがグリッドの任意の精度を与えるのか理解できませんでした。例で説明してください。同じことを感謝します。
Jannatアローラ

1
Geohashは、経度と緯度の座標を1次元の文字列に変換します。この文字列の長さは、変換された座標の精度に直接結び付けられます。このunterbahn.com/2009/11/…をご覧ください。ジオハッシュ文字列の長さが精度にどのように関連付けられているかを確認できます。基本的に、ジオハッシュはポイントをポリゴン領域(1つのジオハッシュグリッド)に変換します。このポリゴン領域のサイズは、ジオハッシュ文字列の長さと、ジオハッシュを計算する緯度に依存します。
マリオミラー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.