タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Geohashに関するyterazonoのブックマーク (7)

  • 第6回 位置情報を保存しよう(後編) | gihyo.jp

    その他の言語のライブラリについては、http://en.wikipedia.org/wiki/GeohashのExternal Linkの項を参照してください。 例えば、perlのCPANモジュール Geo::Hashを利用して、Goehashをencode/decodeする方法は、以下のようになります。 encode my $geohash = Geo::Hash->new; my $hash = $geohash->encode( $lat, $lon ); decode my $geohash = Geo::Hash->new; my ($lat, $lon) = $geohash->encode( $hash ); Geohashが注目された理由 Geohashが注目されたのは、Google App EngineのDatastoreでの「検索のクエリで絞り込み条件が指定できるカラム

    第6回 位置情報を保存しよう(後編) | gihyo.jp
  • 国土交通省のデータを使って、緯度経度から市区町村までを取り出す - Qiita

    FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps ここ数年、位置情報を使ったアプリ・サービスが増えましたが、GPSから取得出来る緯度経度だけではデータとして使いにくい事があります。 GoogleのGeocodingサービスなどで、緯度経度から住所への変換ができますが、件数や速度の問題があります。 そこで、国土交通省のデータを元に、緯度経度から住所への変換を行ってみましょう。 国土数値情報ダウンロードサービス http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html から全都道府県を選択。最新の情報を全都道府県分選択します。 PostGISのセットアップ http://trac.osgeo.org/postgis/wiki/

    国土交通省のデータを使って、緯度経度から市区町村までを取り出す - Qiita
  • mysql空間拡張とGeoHash, quadkeyについて検索速度を比較してみた & quadkeyって何?の紹介 - Code for History

    1週間程前かな?退社間際にやったSQL調整がどうしてもうまくいかず、100ms程度だった検索速度が空間検索条件を外すと爆速になったので、十分な確認もなく短絡して、Twitterで「mysqlの空間検索遅過ぎる!使えねー」と呟いてしまいました。 明日になればGeoHashとかquadkey*1のような一次元空間コード検索に変更してやるぞと。 が、翌日取り急ぎ検索条件をquadkeyに変更してやっても、特に速くならない。 あり?と思ってよくよくさらにチェックしてやると、複合検索のプロファイルの見方を間違えてて、テーブル間のリレーションキーで非空間テーブル=>空間テーブルの向きは主キーでリンクされてたけど、その逆はリレーションキーにインデックスを張ってなかったので、オプティマイザの選択が先に非空間テーブルの検索条件=>フィルタされたレコードに対し逐次空間検索、となっていたのが遅い原因でした。 非

    mysql空間拡張とGeoHash, quadkeyについて検索速度を比較してみた & quadkeyって何?の紹介 - Code for History
  • 一次元ハッシュコードによる空間半径検索 - Qiita

    注意 mysqlで空間検索をする場合、InnoDBでは、空間テーブルが作れないため、一次元ハッシュコードによる検索が必要になります。 MyISAMでも問題ない場合は、空間検索速度が速いので空間テーブルの利用を検討してください。 一次元ハッシュコード検索の基 考え方の基については、もっとも流行っている一次元ハッシュコードである、GeoHashについてのこちらの記事( http://blog.masuidrive.jp/index.php/2010/01/13/geohash/ )を確認してください。 採用する一次元ハッシュコードの精度レベルいくらのメッシュが、求めようとする緯度で、メッシュの短辺が求めたい検索半径より大きくなるかを調べます。 求めた精度レベルで、検索中心の経緯度のハッシュコードを求めます。 そのハッシュコードの、周辺8つ(自分自身も含めると9つ)のメッシュコードを求めます

    一次元ハッシュコードによる空間半径検索 - Qiita
  • GeoHashのdecodeのアルゴリズムの解説します & ScalaのGeoHashライブラリを作ってみました(仮) - ( ꒪⌓꒪) ゆるよろ日記

    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

    GeoHashのdecodeのアルゴリズムの解説します & ScalaのGeoHashライブラリを作ってみました(仮) - ( ꒪⌓꒪) ゆるよろ日記
  • Geohashのアルゴリズム

    Photo by Ludovico Cera 前回、最後にGeohashのエンコード・デコード方法を解説、とか書いたのですが、私が書く前にyuroyoroさんがブログで解説していました。しっかり解説されているので、ぜひ、そちらをご覧ください。 Geohashのミソは、座標を2進数にして、それを交互に並べる所にあります。そしてそれをBASE32でエンコードすることで、座標を文字列にして表現しています。 BASE32は、5ビットで1文字なので、Geohashの長さが奇数の場合は、経度の方がビットが短くなります。 (例: 5文字の場合 全25ビット 緯度が13ビット、経度が12ビット) そのため、グリッドの大きさが、Geohashが奇数の場合は縦長、偶数の場合は横長になります。 ビット列から文字列へのエンコード方法に、BASE32を使っているのは大文字小文字を区別しないためだと思いますが、これを

    Geohashのアルゴリズム
  • 緯度経度を文字列で表すGeoHash - @masuidrive blog

    なんか世間的に位置情報アプリが流行ってるらしいし、Google App Engine(GAE)も楽しそう。どうせだから、GAEでなんか位置情報アプリでも作ってみよう!と思ってTwitterに書き込んだところ、Geohashという、位置情報のプロトコル?を教えてもらいました。 これは、その名の通り、位置情報をハッシュで表す規格なのですが、いろいろおもしろい特徴があり、調べているうちに楽しくなってきたので、勢い余ってPure Rubyのライブラリまで書いちゃいました。 そのあと、結局ライブラリを作ったところで満足して、アプリは何も作らなかったので、せめてGeohashの解説でも書いておこうと思います。 位置情報は通常、緯度経度で表します。たとえば東京タワーの緯度経度は35.65861, 139.745447です。 北を上にした地図でいうと、緯度がY座標で経度がX座標です。英語では緯度をlati

  • 1