2006-09-01 [長年日記]
GPS-CS1K
買った。ヨドバシにて\13,800-だったかな。
PCに接続すると、測位状態の場合は測位が中断され、USBマスストレージクラスとして認識される。ストレージとしての容量は32Mbytes。ログを保存できる量は、公称360時間分。測位間隔は15秒なので、86,400point程度ということになる。1pointあたりのログの量は、ほぼ固定で300bytes程度なのでもうちょっといけるとは思うのだけど、クラスタサイズの関係やら何やらからすると、誤差の範囲内だろう。旅行などを考えても、二週間程度はいっぱいにならない計算なので、容量としては十分だと思う。
電源は単三電池一個で、公称10時間程度。ただ、ニッケル水素電池では動作しない可能性があると書いてあった。ニッケル水素は電圧が1.2Vと通常のアルカリ電池の1.5Vより低いためだろう。いまは、オキシライド電池(ちょっと電圧が高い)を入れてみているのだけど、特に問題はなさそう。PCに接続しているときは、バスパワーで動作している模様。
大きさは、35mmフィルムのフィルムケースよりも二周りぐらい大きいぐらい。街歩きのときにぶら下げるにはちょっと大きめだけど、アウトドアな人にとってはほとんど邪魔にならない大きさだと思う。
さっきも書いたとおり、PCからはマスストレージクラスとして認識されるので、中のファイルも普通にみることができる。ルートディレクトリにGPS/というディレクトリがあり、その中にログファイルがある。ログファイルは、電源の入り切りで一個できるらしい。ログファイルの中身はべたテキストで、フォーマットはNMEA-0183そのもの。解析は簡単だろう。
Phantasy Star Universe
買った。PS以外のネットワーク環境がないとオンライン登録ができないのはどうなのよ?と思いつつ登録しようと思ったら、ぜんぜんつながらない。あきらめてオフラインをちょっとだけ。
GPS-CS1KのログをALPSLAB slideの経路情報に変換するスクリプト
ほぼできた。試しに今日の通勤時のログを貼り付けたら、住んでいる場所と勤務先が分かる程度の精度が出ていたのでとりあえず削除。今度どこかに出かけたら貼ってみよう。
- 電車に乗車中のログはなかった
- バスの乗車中のログはそこそこ取れていた
- 速度の問題 or 見通しの問題?
- トラッキングログとしてはそこそこ
- 郊外だとまた違う?
スクリプトは、まとめたらどこかにおく予定。面倒なのでここに張っとこう。えい!
#!/usr/bin/env ruby # # # Copyright (c) 2006 kp <kp@mmho.no-ip.org> # Distributed under the GPL # require 'wgs2tky' require 'optparse' opt = OptionParser.new config = Hash.new opt.on('-f (tdiary|wiki)','output with tDiary or wiki format'){ |v| config[:format] = v} opt.parse!(ARGV) track = [] ARGF.each { |l| next unless l =~ /^\$GPRMC/ track << l.chomp.split(',') } case config[:format] when 'tdiary' print "<%=scrollmap '" when 'wiki' print "{{scrollmap '" when nil print "<div class=\"alpslab-slide\">" else raise "\"#{config[:format]}\" is unknown format." end track.each { |t| next unless t[2] == 'A' # 'A' is valid data lat = [t[3].to_i/100, t[3].to_f - t[3].to_i/100*100, 0] lon = [t[5].to_i/100, t[5].to_f - t[5].to_i/100*100, 0] Wgs2Tky.conv!(lat,lon) print "#{sprintf("%d/%d/%.3f",*lat)},#{sprintf("%d/%d/%.3f",*lon)} " } case config[:format] when 'tdiary' print "'%>" when 'wiki' print "'}}" when nil print "</div>" else raise "\"#{config[:format]}\" is unknown format." end
簡単な説明
Rubyが導入されていることが前提です。あと、image_gps.rbに含まれている、wgs2tky.rbがインストールされている必要があります。 このテキストをlog2track.rb等という名前で保存しましょう。以下はこの名前で保存したことを前提として説明します。ファイルに実行権限をつけ、以下のように入力しましょう。
%./log2track.rb ログファイル名
標準出力に変換後のデータが出力されます。オプション -f を指定することにより、出力フォーマットを選択できます。選択できるフォーマットはtDiary形式とwiki形式です。それぞれ、以下のようなコマンドになります。
%./log2track.rb -f tdiary ログファイル名 %./log2track.rb -f wiki ログファイル名