ジオハッシュ
Geohash（ジオハッシュ）は、Gustavo Niemeyerがgeohash.orgというWebサービスを作成中に発明した経緯度に基づくジオコーディング方法の一つである。パブリックドメインになっている。階層的な空間データ構造であり、空間を分割していくことによって表現する。
ジオハッシュは、任意の精度で表現できる、文字列の末尾を削っていくと徐々に精度が落ちる、といった特徴がある。
そのため、近隣の2地点を表すコードは、似たような文字列から構成されることが多い。同時に、より多くの文字列が一致すれば、当該2点がより近いことを表す。
サービス
2008年2月にスタートしたgeohash.orgサービスの目的は、地上の地点を特定するための短いURLを提供することにあった。電子メールやウェブサイト、ウェブサイトへの書き込みの際に便利になるからである。
例えば、緯度及び経度の組 57.64911,10.40744 からは u4pruydqqvj というハッシュが導き出され、http://geohash.org/u4pruydqqvj というURLで表現される。
例
ezs42 というジオハッシュを例にとり、これがどのように経緯度へ復号されるかを説明する。
二進数からの復号
二進数は1ビットずつ、左のビットから順に評価される。
緯度については、 -90 から +90 が2つの区間に分割され、 -90 ～ 0 と 1 ～ +90 となる。1bit目は1なので、より値の高い区間である 1 ～ +90 が該当する。最後のビットについては、区間の中央値が適用される。
経度も同じ考え方である。ただ、最初の区間が -180 ～ +180 の分割から始まることを念頭に置かなくてはならない。
このような処理を経ることによって、概ね緯度は 42.6、経度は -5.6 と求めることができる。
制限
ジオハッシュのアルゴリズムでは、互いに近傍な点については同じ文字列を共有する性質を利用しようとする際に制限が発生する。赤道または子午線を挟んだ近傍点では共通する文字列は発生しない。これは特異な例であるため、共通する文字列を利用することを妨げるものではない。
ライセンスと特許
ジオハッシュはその考案者によって2008年2月26日にパブリックドメインとされた。
類似するアルゴリズムは特許化され、著作権で保護されているが、ジオハッシュは完全に異なるアルゴリズムとアプローチによるものである。