自由に使える経緯度の符号化法 Geohash がグリッドとしても座標表現としても使えてうれしいです。 Geohash とは? Geohash (http://en.wikipedia.org/wiki/Geohash) が色々と使われているようです(http://zcologia.com/news/759/geohash-and-bigtable/) 。 この Geohash、ビット列を経度・緯度の順に交代に2分割するように解釈し、BASE32 で符号化するもので、Wikipedia の短い記事で仕様が完結しており、自由に使えます。 この Geohash、よく考えられていると思います。Geohash は点を表現するものですが、その点と同じ Geohash を持つ面のグリッドであると解釈することも簡単です。グリッドと座標の表現を、Geohash 一つで済ますことができます。 Geohash
1週間程前かな?退社間際にやったSQL調整がどうしてもうまくいかず、100ms程度だった検索速度が空間検索条件を外すと爆速になったので、十分な確認もなく短絡して、Twitterで「mysqlの空間検索遅過ぎる!使えねー」と呟いてしまいました。 明日になればGeoHashとかquadkey*1のような一次元空間コード検索に変更してやるぞと。 が、翌日取り急ぎ検索条件をquadkeyに変更してやっても、特に速くならない。 あり?と思ってよくよくさらにチェックしてやると、複合検索のプロファイルの見方を間違えてて、テーブル間のリレーションキーで非空間テーブル=>空間テーブルの向きは主キーでリンクされてたけど、その逆はリレーションキーにインデックスを張ってなかったので、オプティマイザの選択が先に非空間テーブルの検索条件=>フィルタされたレコードに対し逐次空間検索、となっていたのが遅い原因でした。 非
GeoHash(http://en.wikipedia.org/wiki/Geohash)は、緯度経度を文字列のハッシュで表現する仕様です。 GeoHashにより表現された緯度経度の情報は、一つの文字列で緯度と経度という2次元の情報に加えて精度も表すことができるという特徴を持っています。 例えば、どうでしょうバカの聖地である北海道札幌市の平岸高台公園は、北緯43.025東経141.377ですが、これをGeoHashで表現すると、"xpssc0"となります。 この"xpssc0"というGeoHash表現は、「北緯43.0224609375から43.0279541015625の間で、東経141.3720703125から141.383056640625の矩形範囲」であり、座標はこの矩形範囲の中心点になります。 @masuidrive blogさんの緯度経度を文字列で表すGeoHash - @ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く