GPS座標を短い文字列で扱えるGeoHashが面白い
    このエントリをはてなブックマークに登録

2010/1/29 金曜日 matsui Posted in 記事紹介・リンク 4 Comments »

位置情報を短い文字列で扱うことのできるGeoHashというのが面白いのでご紹介します。

 

ケータイのGPSなどから取得する座標は通常「緯度・経度」という形で扱われます。
「+141.22.35.364, +43.3.14.112」みたいな感じですね。

ところがGeoHashでは、この座標は文字列で表され「xpssbxt2gpf」となります。

面白いことにこの文字列は、座標のように「点」を表しているのではなく「範囲(グリッド)」を表しています。

そして、この文字列は長ければ長いほど詳細な情報を持ちます。
つまり文字列を短くすると、より広い範囲を表すことになります。

 

例えば上の文字列から3文字削った「xpssbxt2」は、次のような範囲になります。

20100130_geohash1

 

そこから更に2文字削った「xpssbx」は、より広い範囲を表すことになり、次のような範囲になります。(範囲が広すぎて表示しきれないので地図の縮尺も上げています)

20100130_geohash

 

どうも説明が下手なので、恐らくわかるようなわからないような、という感じでしょう。

現在のところmasuidrive氏のブログが、日本語でGeoHashを一番詳しく解説しているのではないかと思われるので、ご紹介させていただきます。
(図解も多くわかりやすいと思います)

→ @masuidrive blog 緯度経度を文字列で表すGeoHash [blog.masuidrive.jp]

 

また同時に実際にGeohashを試すことの出来るデモも公開されているようです。

→ @masuidrive blog geohashデモアプリケーション [blog.masuidrive.jp]

「東京タワー」のような語句を入れて描画ボタンを押すと、GeoHash値とその範囲が表示されるはずです。

 

GeoHashは、既に色んな言語向けに実装が進んでいるようで、上記ブログでもRuby用のライブラリが公開されています。

英語版のWikipediaに各言語向けのリンクがあります。

私も上記リンクから辿ってPHPで試してみたのですが、どうもライブラリが簡素なものしかありませんでした。

 

検索してみたところ、「とりあえずPHP」というブログ内にGeoHashのデコード、エンコード、隣接する領域を取る関数のサンプルコードがありましたので活用させていただきました。

→ とりあえずPHP Geohash関数 [mtcn.ko-me.com]

使い方はソースを見れば一目瞭然だと思いますが、こんな感じです。

// テスト用の座標
$lat_in = '43.06383';
$lon_in = '141.35744';

// 座標からGeoHash形式へ(3番目の引数は精度)
$hash = geohash_encode($lat_in, $lon_in, 6);

// GeoHash形式から座標へ
$geo_arr = geohash_decode_interval($hash);

$grid_x1 = $geo_arr[1][0];		// グリッドの左上の点
$grid_x2 = $geo_arr[1][1];		// グリッドの左下の点
$grid_y1 = $geo_arr[0][0];		// グリッドの右上の点
$grid_y2 = $geo_arr[0][1];		// グリッドの右下の点

 

なお、ケータイから取得できる座標は、度分秒形式なので、あらかじめミリ秒形式に変換する必要があります。
詳しくはこちらの記事を参考にしてください。

 

このGeoHash何が良いのかというと、

  • 場所の絞り込みが簡単に行える、隣接エリアの取得も容易。
  • 範囲が前方一致で検索できるので、文字列マッチやSQLのlike文などとも相性が良く、高速な処理が可能
  • 座標と精度を短い文字列で持つことができるので、URLで扱いやすい

のような点が上げられると思います。

 

これを使えばケータイのGPSでドラクエのすれ違い通信的なものも割と簡単に実装できる気がしているので、現在遊んでみているところです。

 

関連:



iPad関連のニュース記事まとめ
    このエントリをはてなブックマークに登録

2010/1/28 木曜日 matsui Posted in ニュース, 記事紹介・リンク No Comments »

もはやケータイと分類していいかは微妙なところですが、3GのSIMカードが入るとのことなので一応スマートフォン扱いということでご紹介です。

日本時間の今朝、AppleのiPadが発表されましたので、関連記事をまとめてみました。

 

→ アップル公式 iPad [apple.com]

→ ITmedia +D mobile Appleのタブレット端末は「iPad」―9.7型IPSパネル搭載でWi-Fi/3G対応の6モデル [plusd.itmedia.co.jp]

→ 産経ニュース “後進”日本にも「iPad」の衝撃 変革迫られるメディア [sankei.jp.msn.com]

 

iPadは大方の噂通りMacOS搭載ではなく、巨大iPhoneといった形だったようです。

気になるお値段は499ドルからと意外とリーズナブルですね。
Wi-Fi, 3Gモデルの2パターン、16G,32G,64G容量別で6機種が発売となるようです。

WiFiモデルはiPod touchのように量販店などで、3GのSIMが入るモデルは恐らくはソフトバンクからiPhoneのような形で発売されるであろうとのことです。

 

ジョブスのプレゼンはこちらから見ることができます。

→ CNET Japan ビデオ:S・ジョブズ氏が紹介する「iPad」 [japan.cnet.com]

 

スペックはこちらのサイトが詳しいです。

→ GIGAZINE 脅威の薄さと低価格、アップル社の新タブレットPC「iPad」の高解像度写真と仕様のまとめ [gigazine.net]

 

世間での評価は概ね好評なように見えますが、このような批判記事も幾つかありますね。

→ デジタルマガジン 日本でiPadが売れない9つの理由 [digimaga.net]

 

なお、私はタブレット好きなので、もちろん発売日に並んで購入すると思います。
日本での発売日は6月くらいになるのではないかとのことですが、いまからかなり楽しみです。

 

関連:



IMJモバイルに過去1年間の調査データを集約した「Mobile User Book 2010」が無料公開されています
    このエントリをはてなブックマークに登録

2010/1/26 火曜日 matsui Posted in 記事紹介・リンク No Comments »

ケータイに関するアンケート調査・集計などを行っているIMJモバイルさんのサイトに過去1年間の調査データを集約した「Mobile User Book 2010」が公開されていましたのでご紹介します。

 

→ IMJモバイル 「Mobile User Book 2010」過去1年間の調査データを集約 [imjmobile.co.jp]

→ Mobile User Book 2010 PDFファイル [imjmobile.co.jp]

 

調査レポートは8本あり、次のような内容になっています。

  • モバイル動画に関する利用実態調査
  • モバイルの新サービス・新技術に関する意識調査
  • ECサイトに関する利用実態調査
  • iPhoneに関する利用実態調査
  • クラウドサービスに関する調査
  • 企業のモバイルサイトへの取組み実態調査
  • 携帯電話のメールマガジンに関するユーザビリティ調査
  • Flashのモバイルサイトに関するユーザビリティ調査

 

個人的にはFlashのユーザビリティ調査が興味深かったです。

ちなみに去年のデータ「Mobile User Book 2009」も見ることができます。
詳しくはこちらの記事をご参照ください。

→ ke-tai.org モバイルに関するユーザ動向・意識を調査した無料のデータ資料「Mobile User Book 2009」 [ke-tai.org]

 

関連:



ウノウラボさんにFlash Liteの入門者向けエントリーが掲載されています
    このエントリをはてなブックマークに登録

2010/1/20 水曜日 matsui Posted in 記事紹介・リンク No Comments »

いつもケータイ系の良いネタを提供してくれるウノウラボさんに、Flash Liteの入門者向けエントリーが掲載されていましたのでご紹介します。

→ ウノウラボ Flash Lite初学者の為のまとめ [labs.unoh.net]

ウノウラボさんには少し前にもFlash Liteに関するエントリーがありましたね。
いま力を入れているのでしょうか?

→ ウノウラボ Flash Lite ことはじめ。 [labs.unoh.net]

 

どちらの記事も入門者向けのエントリーとなっており、Flash Liteを学ぶにあたって抑えておきたい情報と、そのリンクをまとめたものになっています。

最近は私もFlash Liteを利用しなければならないケースが多く出てきており、勉強しなければなと思っていました。
参考にさせていただきたいと思います。

 

最近追いかけていないのですが、Flash Liteのバージョンによるシェアの割合はどのような感じになっているのでしょう?

いま新規開発するものでも、やはり1.1向けに作成しているのでしょうか。

このあたりの資料をご存知の方がいましたら教えてください。

 

関連:



Rubyでemoji4Unicodeのデータを使って絵文字を変換するgem「e4u-encode」
    このエントリをはてなブックマークに登録

2010/1/15 金曜日 matsui Posted in 記事紹介・リンク No Comments »

先日ネットを検索していたところ、おもしろそうなものを見つけたのでご紹介します。

id:fistfvckがRubyでemoji4Unicodeのデータを使って絵文字を変換するgem「e4u-encode」を作成したとのことです。

 

本家のエントリーはこちらです。
→ fistfvckの日記 rubyで絵文字を相互変換するgem作った(仮) [d.hatena.ne.jp]

ソースはgithubで公開されています。
→ github  fistfvck / e4u-encode [github.com]

 

既に紹介エントリーなんかもありますね。
→ urekatのスカンク日記3 新しい絵文字変換 [d.hatena.ne.jp]

 

「emoji4Unicode」はGoogleが提唱している絵文字のUnicode符号化の規格です。
詳しくはこちらの記事をどうぞ。

→ ke-tai.org Googleが絵文字のユニコード符号化を提案しているようです [ke-tai.org]

→ CodeZine Google、携帯絵文字のユニコード化支援プロジェクト「emoji4unicode」を公開 [codezine.jp]

 

Perlでは同じくemoji4unicodeをベースにした絵文字変換Perlモジュール「Encode::JP::Emoji [mtl.recruit.co.jp]」なんていうものもありますね。

Googleのemoji4unicode、じわじわと広まっているようです。

 

関連: