2008年9月25日木曜日

いつでもどこでもGPS - その2

前回ふれたGPS-GR310について詳しく紹介します。

GPS-GR310はUSBとBluetooth接続に対応したGPS受信機です。
本体の写真等は先のウェブサイトにあるのでそちらを見てください。
ブリスターパッケージに本体とUSB延長ケーブル、
車載時用のシガレットソケットアダプタ(入力12-24V、出力5V850mA)、
ドライバやドキュメント入りのCD-ROMが入っています。

USBの場合は専用ドライバとの組み合わせで仮想シリアルデバイスとして使用します。

ボーレートは4800bpsです。
Bluetoothの場合は特にドライバは必要なくSSP(シリアルポートプロファイル)で接続できます。
ペアリング時のセキュリティコード(PINコード)は"0000"です。
どちらの方法でも接続すればでNMEA-0183形式の出力データが垂れ流しになり、
起動時のネゴシエーションは必要ありません。
大変お手軽です。

で、早速自宅でGPS測位してみると、カーナビでの測位結果と同じでした。
めでたしめでたし…とはいきませんでした。
地図ソフトを購入する予算がないので、
google
mapとの連携を考えていたのですが、
google
mapの位置情報と比べるととんでもない誤差があります。
30kmぐらいでしょうか。
どう考えてもgoogle
map側がおかしいようにしか見えません。

googleに苦情することも考え、
いらいらしながらいろいろ調べていてgoogleが悪くないことを確認しました。
google
map は「度分秒」表記ではなく単位は「度」なんですね…
本気で苦情を入れようかと思っていましたがしなくてよかった。
つまり、
i度j分 k秒 = (i+j/60+k/60/60)度
a度 = int(a)%360度 int(60*a)%60分int(3600*a)%3600%60秒

なのです。ここでint(x)はxの整数部を取得する関数、%はモジュロ演算子です。
google
mapの仕様は的を得ていますが、ちょっと使いにくいですね。
時間があったらgoogle
mapを利用したGPS連動ウェブアプリでも作ってみようかと思っています。
思うだけで終わるかもしれませんが…


0 件のコメント:

コメントを投稿