
http://www.amazon.co.jp/exec/obidos/redirect?link_code=as2&path=ASIN/B000HDR6UW&tag=1nichi1tech-22&camp=247&creative=1211
とりあえず、今の時点でわかったことなど
- USBで接続すると普通にマウントできて、そこの /GPS フォルダ内に ascii 形式で保存されている
- 適当なエディタで開いて調べてみたところ、どうやらNMEA-0183という標準的な形式で記録されている模様
NMEA-0183フォーマット
http://bg66.soc.i.kyoto-u.ac.jp/forestgps/nmea.html - 記録を開始する前、衛星の電波を捕捉するのに1〜2分はかかる。なんとなくですが、自転車レベルでも移動しながらは取得しにくく、静止していたほうがいい?
- 自転車で走っていると、建物の間の小道とか、結構電波を拾い損ねることがありましたが、開けたところにでると数秒でまた電波を再び拾いはじめる(インジケータを信用するなら)。
といったところです。とりあえずお昼休みに京都の植物園を散策した軌跡をマッピングしてみました。Perl で処理して GoogleMaps 用のコードを書き出してます。
http://miyanami.googlepages.com/gps.html補正とかあまり考えず度、分 -> degree に変換しているので少し誤差もありそうですが、個人で使う分には十分な精度だと思います。
厳密にアンテナ面を天空に向ける必要がないので、かばんにぶら下げておいて使えます。秋の行楽シーズンとか、結構お勧めかも。
エラー処理とかしてない適当なコードですが、こんな感じです。前後に GoogleMaps の map オブジェクトを生成するスクリプトとか書く必要ありますが、先ほどのリンク先を参考にしてください。
$i = 1;
$html = "";
open(IN, "log.txt") or die "sorry...";
while ($xx =
if($xx =~ /GPGGA/){
@a = split(/\,/, $xx);
@n = split(/\./, $a[2]);
@e = split(/\./, $a[4]);
$n_d = substr($n[0], 0, 2);
$n_h = (substr($n[0], 2, 2).".".$n[1]);
$e_d = substr($e[0], 0, 3);
$e_h = (substr($e[0], 3, 2).".".$e[1]);
$e_deg = $e_d + $e_h/60;
$n_deg = $n_d + $n_h/60;
print "T:$a[1] $n_deg $e_deg\n";
$html = $html."var marker".$i;
$html = $html." = createMarker(new GPoint(".$e_deg.",".$n_deg."));\n";
$html = $html."createInfoWindow(marker".$i.",\"$a[1]\");\n";
$html = $html."map.addOverlay(marker".$i.");\n\n";
$i++;
}
}
close(IN);
open (FH, "> list.html") or die "sorry...";
print FH $html;
close(FH);


