« Windows MobileとGPSの関係 | メイン | Kanasan.JS JavaScript第5版読書会#6の参加者募集中です »

無線LANを使って位置を特定するPlaceEngineをTouch Diamondで利用する

全entryからの続き。
携帯電話で位置が特定できるからといって充分かというとどうかと思う。やっぱりパソコンで位置を特定できた方が非常に使い勝手が良いはず。でもパソコンにはGPSがついていない。もしかしたらついている機種もあるのかも知れないが一般的ではない。携帯電話にもついているのにパソコンについていないというのは不思議に思うかもしれないけど、とりあえずついていない。(携帯電話のGPSはカーナビとは違い、携帯電話の基地局とやりとりして云々するが詳細は省く。)じゃあパソコンで位置情報を取得できないかと言えばそうでもなく、それを解決すべくPlaceEngineというサービスがある。PlaceEngineは無線LANを使って位置を特定する。前のentryでも書いたが、無線LANと位置を結びつけるのは利用者の自己申告という、まさに集合知を地でいくサービスである。提携サービスも随分と増えてきていて、例えばPSPの地図ソフトの「みんなの地図3」、「Hotpepper for iPhone」など楽しいことになっている。BBモバイルポイントやフレッツ・スポット、livedoor Wirelessの無線LANの場所を探してくれるWirelessGateのtoolなんかもある。これをパソコンで利用するためにはクライアントソフトが必要である。
このソフトがインストールされていると住所を表示することができる。そして面白いことにsiteのJavaScriptから位置情報が取得できるようになる。(PlaceEngineを起動しておかないと取得できない。)
無線LANと現在地がひもづいていない場合には位置が取得できない。取得できない場合(取得できた場合でも同様だけど)、今いる位置を申告することもできる。ただ、[PlaceEngineのMapを開く]=>[AP情報取得]=>[Google Maps上で現在地を指定]=>[オプションとして現在地の情報を入力]=>[登録]の流れは非常に面倒くさい。この面倒な作業は、Windows Mobile版のPlaceEngineがGPSと連動して行なってくれる。もちろんオプションの入力はしてくれないけど。
Windows Mobile版の設定
設定は以下の通り。

[General]タブ
ここには、Proxyの設定とBrowserの指定、そしてDB Pathの指定ができる。DB PathはPlaceEngineが使用するLocalDBのことだと思う。

[Security]タブ
site上のJavaScriptでPlaceEngineから位置情報を取得する時に、その可不可を毎回確認するかそれとも確認せずに許可するかの設定。siteのURLと[Through/Confirm]を指定する。

[Logger]タブ
GPSとAP情報の連動をPlaceEngineに登録するにはここの設定が重要。自分の設定は次のようになっている。[Save Log]はもちろんON。[Update Adress]は住所を取得しにいく設定のようなので負荷を下げるためにOFF。[Auto Spot]はAPを探索するかどうかなのでONとして、その取得間隔を設定する[Interval(sec.)]はAPをできるだけ多く取得したいので10秒にしている。[GPS Log]ももちろんONで、前のentryで書いたように接続ポートを[COM4]として通信速度は[4800]bpsと設定。あと、ここにある[Auto Suspend]は、logの収集中に「位置情報記録=>スリープ=>起動=>位置情報記録」を繰り返してバッテリの消費を抑える機能のようだ。自分の場合は間隔が10秒と非常に短いので[Auto Suspend]は使っていない。

[LocalDB]タブ
LocalDBとは、多分APの情報から住所を取得する時に、いちいちPlaceEngineのsiteに問い合わせなくてもいいようにデータをローカルに持たせたもののはず。(さっきから推測ばかりで申し訳ない。)ここにある[Update]をクリックする事でDLできる。DL中に他のアプリケーションに切り換えたりするとDLが完全に止まってしまい、PlaceEngineを前面に持ってきてもDLが再開しなかったので注意。また、Windows Mobile自体の省電力設定で電源を切らないか時間を長く設定しておかないとアプリ切り替えと同じようにDLが止まってしまうようだ。省電力は[スタート]=>[設定]=>[システム]=>[電源]=>[詳細設定]=>[次の時間経過後、電源を切る]で設定の変更ができる。

メイン画面
メイン画面の上部には捕捉したAPとその電波強度が棒グラフで表示される。[現在地を取得]をクリックすると現在のAPを取得して現在地の住所をPlaceEngineのServerに問い合わせて表示する。[PlaceEngine]をクリックすると指定されているBrowserで[PlaceEngine.com Map]を開く。画面の下には各種処理のメッセージが表示される。本来なら起動時に[AutoSpot]が開始されてもおかしくはないのだが、一旦設定画面を開かないと[AutoSpot開始]と表示されない。どのタイミングで[AutoSpot]が開始されるのかは不明。[AutoSuspend]を行なうためには、設定画面からでないとダメなようだ。[AutoSuspend]をクリックすると、[AutoSpot開始]と[AutoSuspend開始]が表示される。メイン画面上部をクリックし、[AutoSuspend解除]と表示されると、[AutoSuspend]が停止するようだ。GPSについても、衛星をとらえたタイミングで[GPS Enabled]と表示される。ただし、切断とか停止とか表示されるのは[AutoSuspend]についてだけなのが非常にわかりにくい。APの補足については棒グラフが刻々と変化するのでまだわかるけど、GPSについてはこれがない。[GPS Disabled]とは表示されない。本来的には、APの棒グラフのような表示が欲しいし、せめてメッセージに表示して欲しい。特に、[GPS Enabled]と表示されるような方法がよくわからない。設定画面を一度開いたら表示される事もあるし、NAVITIMEでGPSチェックを行なうと表示される事もあるし、酷い時にはWindows Mobileを再起動しないとGPSを捕捉できない事もあるようだ。GPSの状態がどうなっているのかほとんど表示されないため、状態がきちんと把握できない。このあたりはちゃんとして欲しいと思う。でないと、PlaceEngineの肝である「緯度経度とAPの関連情報」も拾集ができずにビジネスモデル的にも問題があると思う。関係者がここを見るはずがないので、誰か関係者を知っている人がいれば是非伝えて欲しいと思う。(エラーメッセージがちゃんと表示されない場合もあるのでそこもなんとかして欲しいが...。)
logをPlaceEngineへ通知
logは[¥My Document¥PlaceEngine¥pelog_yy-mm-dd](yy-mm-ddは日付)に保存される。頻繁に位置情報を取得しているとあっという間にlogがたまる。普段はいちいちこのフォルダを見たりはしないので、贅沢を言えばPlaceEngineのアプリから削除できるようになっていれば嬉しい。で、このlogをPlaceEngineに送信するには以下のURLにアクセスする。
ここでは、位置情報を通知する[アップロードのみ]だけでなく、Google Earth用のKML等、色々な形式に変換可能となっている。logのUL前にユーザ登録をしておくと、位置情報登録ランキングに参加できる。
登録した位置情報の反映
PlaceEngine側へ通知した位置情報はいつサービスに反映されるのか。そのうち反映されるのだろうけど、今の所詳細は不明。機械的に処理をしているのであれば登録後x日かも知れないし、人海戦術を取っているのであればx曜日というかたちかもしれない。自分も登録をしはじめてからそんなに長くないのでよくわからないというのが正直なところ。

トラックバック

このエントリーのトラックバックURL:
http://www.kanasansoft.com/cgi/mt/mt-tb.cgi/176

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google