gps座標を短い文字列で扱えるgeo hashが面白い
Post on 15-Jun-2015
3.495 Views
Preview:
TRANSCRIPT
GPS座標を短い文字列で扱えるGeoHashが面白い
ke-tai.org 松井健太郎
自己紹介
•株式会社インフィニットループ所属
•ケータイプログラマのための情報サイト「ke-tai.org」管理人
•コーラが好き
GeoHashとは
• 位置情報(座標)を短い文字列で表したもの
• 「+141.22.35.364, +43.3.14.112」 ↓ ↓ ↓「xpssbxt2gpf」
GeoHashとは(2)• ポイント(点)ではなく範囲を示している
• 長さによって精度が変わる
xpssbxt2(8文字) xpssbx(6文字)
GeoHashとは(3)• 隣接エリアが容易に取得できる
xpst08の隣接エリアを取得した結果
メリット(1)• 場所の絞り込みが簡単に行える、隣接エリアの取得も容易
• 範囲が前方一致で検索できるので、文字列マッチやSQLのlike文などとも相性が良く、高速な処理が可能
lon > 141.22345 AND lon < 141.23124 AND lat > 43.41228AND lat < 143.42.097
geohash LIKE ‘xpssbxt2%’
↓ ↓ ↓
メリット(2)• 座標と精度を短い文字列で持つことができるので、URLで扱いやすい
• Perl, PHP, Ruby, Java, JavaScriptなど色々な言語でライブラリの実装が進んでいる
→ 我らがLOCALのriaf氏も早速PHP実装を公開しているhttp://blog.riaf.jp/post/378886859/geohash-php
foo.php?lon= 141.22345&lat= 43.41228&zoom=12↓ ↓ ↓
bar.php?gh=xpssbxt2
技術的な仕組み
• 文字列→座標を例に考えるとわかりやすい1. base32でデコード2. 2進数(5bit)に変換する3. 偶数bit(経度)、奇数bit(緯度)に分ける4. 範囲を二分木で絞り込んでいく
• 参考/引用元URLゆろよろ日記
http://d.hatena.ne.jp/yuroyoro/20100115/1263526125
まとめGeoHashを使うと位置情報を簡単に扱うことができる
• エリアによるお店の絞込み
• 近くにある店/いる人の取得
などにきっと便利なはず
位置情報を使ったWebサイトを作るときは
覚えておくといいかも
top related