バウンディングボックスを実行して、ポイントがスペースの中心の周りにあるジオハッシュされた文字列のトライをクエリします。ポイントが中心点にまたがっているときにトライを照会する良い方法を見つけることができないようです。
各ボックスが1x1である16x16スペースに、座標ごとに4ビット(合計8)の情報があるとします。基本的に、16x16グリッド。
赤い線は、ジオハッシュで使用される四分木の最も粗い分割を示しています。
上の図を表すトライ。
bits=4, min=0, max=16, numBuckets=16.0, scaling=1.0, tree={
└── null
├── 0
│ ├── (0110100) 00110100 = {(6, 6), hash=00110100}
│ └── (1100000) 01100000 = {(6, 8), hash=01100000}
└── 1
├── (0010101) 10010101 = {(8, 7), hash=10010101}
└── (1000010) 11000010 = {(9, 8), hash=11000010}
バウンディングボックスクエリは、左上のポイントと長さ、幅として定義されます。例:(6,6 4x4)6,66,88,7および9,8を返す必要があります。
私が考えたアプローチの1つは、左上の座標を含む最も正確なボックスから始めて、4x4の正方形をカバーできるようになるまで精度を下げ続けます。しかし、そうすると、この例ではツリー全体にクエリを実行することになります。私はそれを行うための「より良い」方法を見ていません。