LI情報とGPS

PHSにはLI情報というのがあって、捕まえたアンテナの強度の情報から三角測量のやり方で現在位置を求めることができる。302でLocationヘッダをつけて特定のURLに転送すれば、座標を返してくれるというインタフェースが用意されているので、簡単なCGIを動かせるWebサーバの環境さえあれば、誰でもこの情報を得ることができる。ちなみにこのときPHSのユーザに確認のダイアログを出すことで、プライバシの確保を担保しています(ので、安心して使える)。

そして、最近私はデジカメ写真に座標をつけているのだけど、GPSのデバイスを持ち歩くのは面倒くさいし、買ってみたGPSデバイスは精度も使い勝手もいまいち。ざっくりしたデータでいいので自動でつけて、細部は手で修正、としたいなぁと思った。この情報にLI情報が使えまいか。

というわけで作ってみたのがこれ。最初はどっかに転がってると思ってぐぐってみたんだけど、ありそうでなかった。PHS使ってる奴少ないからなー。

li2gps-0.0.1.tar.gz

思わずmod_pythonのPSPハンドラなんていうマイナーなものを使ってしまった。mod_pythonの(.htaccessの)設定をして、ディレクトリにApacheが書き込めるようにして、そこ(http://server.name/path/to/li2gps.psp)にPHSでアクセスすると、LI情報の送信の有無を聞かれますので送信するように答えると、gpxファイルが生成されます。日付ごとに別ファイル。PerlとかPHPで書けばもっと楽だったかもしれないけど、XMLを触るので、慣れているPythonを使いたかったのです。gpxよりNMEAとかにしたほうが楽だったかもしれない。

li2gps-0.0.1は複数のユーザがアクセスすることは想定してませんが、やったらそれなりにおもしろいのではないかな、とも思いますね。

gpxファイルという形式はそのままdigikam+kipi-pluginsで食うことができますし、gpsbabelを使えば他のフォーマットにも変換できます。外出中にPHSからli2gps.pspにアクセスしまくっておき、結果をkmlなんかにしてgoogle earthに食わせると、まるでGPSを持ち歩いたかのような結果が得られるはずです。

もともとのLI情報はGPSほどの精度はないみたいですが、ざっくりした位置は検出できてる感じですね。あと、測地系の違いで少し混乱しましたが、誤差がそこそこあるやり方でTOKYOからWGS84への変換をしています。地図サイトによってTOKYOだったりWGS84だったりして、ずれる。LI情報は見たところ、TOKYOだと思いますね。google mapの携帯版って、どう座標を与えればいいのだろうかと。

出かけて、写真を撮ろうというときにPHSで設置したページにアクセスしておき、位置と時刻を登録、写真を撮る。家に帰ってSDカードから写真を取り込んで、Webサーバにあるgpxファイルを食わせる。これでいいような気もするよね。ちょっと面倒かもしれないな。

まー、使い勝手に関してはもっと工夫の余地がありますね。gpxファイルとLI情報の使い方のサンプルみたいなものとして見ていただければいいかなぁ。

厳密にやるなら、カメラの時計とサーバの時計が合っていない場合の処置も必要だと思いますね。やるとしたら、サーバ標準時の時刻をJavaScriptかなんかで表示するようにして、それをデジカメで撮ってもらう。そしてその写真をサーバにアップして、表示されている時刻をOCRか人力で得て、EXIF情報にある時刻との差が時差なので、それを元に補正するとか。そこまでやる気は私にはないです(笑)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です