Geohash エンコーダー
変換
Geohashは緯度経度ペアをbase-32文字列にエンコードする階層的空間インデックスです。文字を1つ追加するごとにセルが32倍狭くなり、精度5で約5km、精度8で約38m、精度12で約3cmのセルになります。Redis GEO、MongoDB、Elasticsearchなどデータベースの近傍検索、タイリング、IoT位置データに広く使用されます。本ツールは座標を任意の精度1-12にエンコード、デコード時には中心とバウンディングボックスを返し、隣接8セル(近傍クエリで隣接セルもチェックする必要がある場合に有用)も表示します。
—
主要都市
Geohash
wydm9qy89
中心座標
37.566483, 126.977985
バウンディングボックス
S 37.566462, W 126.977963
N 37.566504, E 126.978006
N 37.566504, E 126.978006
8方向隣接 + 中心
北西
wydm9qy8b
北
wydm9qy8c
北東
wydm9qy8f
西
wydm9qy88
中心
wydm9qy89
東
wydm9qy8d
南西
wydm9qy82
南
wydm9qy83
南東
wydm9qy86
文字あたりセルサイズが半分に。精度9(〜5m)は配達向け、5(〜5km)は都市規模の近傍検索向け。
使い方
- Encodeモード: 緯度/経度(十進度、例: `35.6762, 139.6503`)と精度を選択。
- Decodeモード: geohashを貼付 → 中心座標とバウンディングボックスを取得。
- 隣接セルは自動計算 — 「X近傍1km検索」のようなクエリで周囲8セルをORでまとめる際に有用。
よくある質問
- アルファベットは?
- Base-32、`0-9bcdefghjkmnpqrstuvwxyz` — `a`、`i`、`l`、`o` は視覚的混同(4、1、1、0と類似)のため除外。全geohashライブラリが使う標準Niemeyerアルファベット。
- 各精度のサイズは?
- 文字が1つ増えるごとに経度・緯度が交互に半減。赤道基準の概算セル幅: 1→5000km、3→156km、5→4.9km、7→153m、8→38m、9→4.8m、12→3.7cm。極地に近づくほど狭くなります。
- 隣接セルがなぜ必要?
- Geohashセルはグリッド状。境界近くの点は最近傍が隣のセルにある可能性があり、「1km以内検索」は対象セルだけでは不十分で3×3ブロック全体を見る必要があります。隣接関数が周囲8ハッシュを返すのでクエリでORできます。