轍によるGPS軌跡の処理方法

Last-modified: 2010-09-25 (土) 20:26:08

目次

ログの吸い出し

  • 各ロガーによって方法は違うが、とりあえず最も標準的なGPXで吸い出す。
  • GPXで出力できない物は、なんとかしてGPXに変更したり、轍がサポートしている別の形式にする。

GPSの出力データの基礎知識

  • 自分も別に調べた訳じゃないので間違っているかもしれないが要点だけ。

GPSデータの3要素

  • GPSデータ=ルート+トラック+ウェイポイント
  • ウェイポイント(poi)
    • 目印となる座標データ=点の情報
    • 目的地や経由地登録などにも多用
  • トラック(trk)
    • 自分の軌跡情報
    • いつどこ(どの点)にいたか。時刻と点からなる線の情報。
    • トラックポイント=時刻と点の集まり
  • ルート(rte)
    • これから通過するためのウェイポイントの集まり。単なる線の情報
    • 従って時刻情報は含まない、ウェイポイントの流れの集まり
    • ナビとかのルートに使う?

多用されるフォーマット

  • GPXとNMEA
  • GPX
    • GPXはHTMLみたいなXML系のマークアップ言語で、まぁテキストエディタとかで開けて見れば分かると思う。タグで様々なデータが囲まれている。
    • GPZはGPXをZIP圧縮した物。圧縮すれば分かるがめちゃくちゃ縮む。大変冗長なコードなので。
  • NMEA
    • NMEAはGPSがやりとりする一番生なデータ。カンマ区切りのキャラクターコードで様々なやりとりが行われていて、これをはき出せるロガーも多い。多分GPXとコンパチなはず。
    • 詳しくはhttp://bg66.soc.i.kyoto-u.ac.jp/forestgps/nmea.htmlを参照。
    • 座標情報のみならず、そのときの測位モード(3D/2D)、衛星捕捉数、測位の正確性の指標であるPDOP、電波のC/Nなども分かる。
    • 各メッセージは$GP???というデータで始まり、$GPGGAにはFIX情報が、$GPGSAには測位状況が・・・と色々解析できる。GP???ごとに分離して、Excel等で衛星捕捉数の変化なども追えると思う。

ログの前処理

  • ログ開始と終了地点(屋内)周辺のノイズ的なポイントを手動でGPXから削除
    • 開始地点は測位が悪く、PDOPの低下やDGPS衛星の測位ができていない。
      • といっても後者は15分ほどかかる事もあるようで、その範囲を丸ごと捨てるのもあれなのでこれはスルーだが
  • ホットスタートでも必ず2DFIX→3DFIXという道をたどるので最初の1点の高度情報が無く、高度のノイズとなってしまうため、2DFIXとなっているトラックポイントをテキストエディタで除去してセーブ。
  • 複数ログの結合は手動でやらなくても轍でできるのでよい。タグをみながら手動でやっても良いけど。
  • まぁこの前処理はそこまで必要ではなく、気持ちの問題。気が向いたらどうぞ。

2DFIXの<trkpt>

  • 高度情報の<ele>が無い。<trkpt *>~</<trkpt>まで1点として除去
  • 以下例
    <trkpt lat="36.525251667" lon="140.225360000">
    <time>2010-09-17T09:21:54Z</time>
      <course>215.720001</course>
      <speed>0.699644</speed>
    </trkpt>

3DFIX後の<trkpt>

  • 高度情報の<ele>が含まれるようになったらその後はおk
  • 高度情報が含まれているtrkptの例
    <trkpt lat="36.525211667" lon="140.225388333">
      <ele>203.500000</ele>
    <time>2010-09-17T09:21:55Z</time>
      <course>243.600006</course>
      <speed>0.817967</speed>
      <fix>3d</fix>
      <sat>4</sat>
      <hdop>2.300000</hdop>
      <vdop>5.800000</vdop>
      <pdop>6.200000</pdop>
    </trkpt>

轍による処理

轍をセットアップし起動

  • 神ソフトである轍は次のサイトからDLして下さい。リファレンスマニュアルV3も分かりやすいので、詳細な部分で疑問が出たらそちらを。
  • サイクル紀行 - Google Maps/Earth活用ツール『轍 Wadachi』
  • 初期設定は初回のみで、次回からは保存されている。
  • オプションメニューのサムネイル作成にチェックオン

出力設定タブ

  • 自分はとりあえず次のように設定している。
    • マウスオンでチップが出るので参照。分からなかったらリファレンスマニュアルを。
  • staticmapなどのAPIキーはWEBサイトに載せない限り取得不要。
  • 表題に、作成されるログファイルのタイトルを記入する。
    出力設定.png

詳細設定の変更

  • デフォルトの加速度範囲は徒歩用であり、バイクなどではノイズフィルタによりトラックポイントが飛ぶので要修正。
    • オプションメニュー→詳細設定
    • 加速度範囲をバイクにあわせてとりあえず-4.5~+3m/s^2に設定。現状これで問題無いが、ダメならもう少し加速度を上げる予定。
    • 高度平均化間隔は100にしてしまったがこれはデフォルトで良いと思う。いまいち違いが分からない。
    • 長時間ログが停止した状態では、写真の撮影時刻も停止してしまうため、そのような場合にはカメラの時刻を優先するにチェックオンすれば良いらしい。やってないのでいまいち分かっていない。
      詳細設定.png

トラックタブとGPXの読み込み

共通設定

  • トラックタブを開き、デフォルト設定を押す
    • デフォルト設定は今後読み込むトラックファイルに対して適応される設定値
  • 共通設定であることを念頭に置き、次のように設定する
    • 幅:2(3でも良いが、2の方がスッキリして人間などの詳細な動きが分かりやすい。好みの問題。色も)
    • 間引き:チェックオフ(全トラックに対してある値に間引くため、トラックごとに間引くと間引き量の制御が困難)
    • プライバシー設定などもすべてのトラックに当てはめるわけではないのでチェックオフ

GPX読み込み

  • 複数GPXファイルを全てまとめて轍にD&Dする。
    • このとき.gpxをファイル名=時刻でソートし(一応?)、時刻が一番若いファイルをつかんで投げること。でないと時刻が入れ替わり、連結時に盛大にワープする。

ウェイポイント(開始停止ポイント)作成・・・お好みで

  • すべてのトラックログを選択し、コンテキストメニューから開始停止ポイントの作成を行うとログの始点と時刻、終点と時刻のpoiが作成される。
    • お好みで。休憩などで終了地点と開始地点がずれるのがうざいのでこっちは余り好きじゃないが、ケースバイケース。全体の始点と終点のみになってしまうため、ログの中断地点が分からなくなると困る場合には連結前に行うこと。連結後に行うとstartとgoalの2点のみになる。

トラック連結

  • トラックを全て選択し、連結をおして連結させる。
  • 連結しないとそれぞれのログで色を変えられるが、グラフが分断されてページが長くなり、色々と解析しづらいので結合を推奨。

フィルタリング

  • ノイズフィルタ
    • ノイズフィルタを押す
    • 速度フィルタ適応にチェックオンし、上限速度を旅を振り返り安全マージンを持って入力する。
      • これを超えた速度が除去される。トンネルやログ開始地点でブラジルに飛んだりする点を除去できる
    • ノイズフィルタを実行する。
      • 詳細設定で設定した加速度範囲を超える点が除去される。過剰に除去されると、T字路などがショートカットされたりする。
  • 停止フィルタ
    • 停止しているのにGPSの誤差によってトラックが動いている部分を落ち着ける効果。
    • トラックを選んで停止フィルタボタンを押して適応させる

ウェイポイント作成(停止ポイント)

  • 同様にすべてのトラックを選択肢、停止ポイントの作成を押すと指定時間より長く止まっていた場所にpoiが作られ、その停止時刻と停止時間が表示される。こちらの方が休憩を表すのに適していると思う。どこで何時から何時まで何時間休んでいたのかが分かる。
    • 始点終点ポイントは場合によるが、こちらは連結後に行った方がいい。ロガーの電源が落ちている時、規定時間に満たない可能性がでてくるため。
    • 1kph、180sで停止フィルタを作成する。大体休憩は3分以上なので。旅を振り返って状況に応じて可変して下さい。
  • これらのpoiはウェイポイントタブで確認できる。
    • 後に不要な部分(誤爆や信号待ちとか)をウェイポイントリストから削除する。

間引き

  • 勘所。多いと処理が重過ぎてブラクラに、少ないと道路に乗らなかったり、いまいちログが楽しめない。
  • 大体300kmの移動でも3000ポイント位あれば、そこそこ重くならず、大体の挙動は分かることがつかめてきたので、これを目安に最大3000点に。
  • 結合トラックをダブルクリックしてプロパティを開き、間引きを行うにチェックオン、目標ポイント数を3000に。Enterを押すと改行されてしまうのでマウスとかで。
  • 必要に応じてプライバシー保護をかける。
  • 間引き保存チェックはオフで良いと思う。出力されるHTMLにGPXが添付されるのだが、そのファイルも間引き済みにするかどうかの設定。生ログが落ちてきたほうが嬉しい場合が多いので、普通はオフで。

画像タブ

  • ログ期間中に撮影したデジカメ画像をD&Dで轍に投げ込む。
  • すべての画像を選択し、ウェイポイント自動作成を押す
    • 一部の写真のみ地図上に置きたい場合はその写真のみ選択して。

ウェイポイントタブ

  • ウェイポイントを修正して、より思い出のログっぽく完成度を上げる
  • まず停止ポイントで誤爆している部分を削除
  • 停止ポイントのプロパティ編集
    • プロパティを開き、名称などを追加修正、そこで何をやったか等のコメントを記入する
    • 区間の区切りにチェックオンする。すると休憩箇所がプロフィールマップ上に表示されるようになり分かりやすい。

プレビュー

  • マッププレビューを押す。
    • GPX生成をひたすら待つ
  • ブラウザタブでプレビューし、動作の重さや間引きの程度、ウェイポイントなどを確認する。

Google Maps HTMLをエクスポート

  • ファイル/エクスポート/Google Maps HTML
  • これにて完成。
  • マウスで表示幅を変えたり、ホイールでぐりぐりできる距離や速度、高度グラフがあったり、自分の行動を客観的にみられるログはなかなか面白いです。後から解析することで旅がより濃くなるので非常にお勧め。
  • リアルタイム再生とかもできるし、アナログメータ式の速度計なんかも表示されたりします。
  • 地図の部分だけ・・・。この下の部分も結構面白い
    地図プレビュー.png

轍設定ファイル.tourの保存

  • ファイル/名前を付けて保存から。
  • ほぼ全ての状態がログごとに保存される。
  • 故にセーブ時間も長い。

参考文献

コメント、質問お気軽にどうぞ