2011年 10月 23日

GPSログをAndroid端末で再生する

ここ最近まで、GPSログを取ったはいいけど、スマフォ等でそのログデータを再生する方法がよくわからなかった。ログを取った後GoogleEarthなんかで眺めるのも楽しいが、せっかくならログデータを持ち出したい。
そこで、GPSログをAndroid端末で再生するための方法を記載してみました。もっとよい方法もあるはずだけど、ひとまずまとめ。

おことわり

osmandで使用できる地図の1つ、OpenStreetMapのオフライン地図は最新ではなかったり、全ての道路が網羅されていなかったりします。もしも地図にない道を見つけたら、osmに投稿するのもいいかと思います。
あと、GPSログデータを閲覧する行為は楽しいものですが、道に迷ったり、事故にあわないよう、周囲には十分注意して下さい :-)
あとバッテリー残量も!

用意するもの

  • GPSログ
  • GPSを搭載したAndroid端末 (オフライン地図を使うので、3G接続は前提としない)
  • osmand, または osmand+
  • GPS Babel
  • GPSログを編集できるツール(カシミール3Dとか)
osmandは+のほうに先に最新版が来るみたいです。なお、開発者ページ(http://osmand.net/)でも、最新のAPKは配布されてます。



1. GPSログを編集する

あらかじめGPSログは、編集ソフトを使って不要部分を除去したり、行き帰りのログを分離しておく。うちの場合、たいていGPSログは気にせず3秒間隔で取りっ放しとかにしてるので、編集しておかないとイマイチ。データ量もでかくなるので、用途に合わせてGPSログを分離しておくことを推奨。

GPSデータ編集は色々なソフトがあるけど、PhotoMate 887などのGPSロガーでは、付属のツール(GPS Photo Tagger)でログの分断が出来たりします。あとはたしかカシミール3DでもGPSログの編集が出来ますので、ここは各自お好みで。

2. GPSログを間引いて、GPXで保存する

ログがそのままだとデータ量が多すぎて、Android端末で読み込むときにメモリ不足になったり、たくさんのトラックログを表示しようとして地図表示が遅くになったりする。なので、ルートがわかる程度に、データ量を減らしておく。

また、後で使うosmand, osmand+はGPXデータを入力ファイルとして使うので、他のファイル形式になっていた場合は、GPXデータとして保存する。

これらの2つの作業をGPS Babelを使って行う。
  1. GPS Babelを起動する
  2. InputのFormat を指定する。よくわからない場合は、GPSロガーからの取り込み時にGPXで保存しておき、Input Formatは"GPX XML"を指定する。
  3. File Name(s)を押してデータを指定する。ちなみにGPS BabelのGUI版はバグがあるのか、テキストエリアに直接パスを入れても反映されない。
  4. InputのOptionsは空でいい。
  5. Translation Optionsは、特にTracksにチェックが付いていることを確認する。必要に応じてWaypointsも指定する。
  6. ここが重要。Translation Optionsの Filters をクリックし、Routes & Tracks の Simplifyにチェックを入れ、Limit to を 750 ぐらいの値にする。Limit toでGPSのトラックログの全数を指定するので、この数が重要。あと、MiscellaneousでTransformのTracks→Routesを指定もしておくと少しいいかも。
  7. OutputはFileにして、FormatはGPX XMLにする。
  8. ファイル名はInputとは異なるファイル名にすることを推奨。やっぱり、パスを直接テキストエリアに入れてもダメなので、ダイアログからファイル名指定する。
  9. OutputのOptionsは空でよい。
  10. Applyを押して完了。

3. osmand, osmand+インストール

まだosmandをインストールしていない場合、Android Marketからインストールしておく。この後、GPXファイルを、SD Card上のosmandのフォルダに保存するので、先に一度osmandを起動しておくとよいです。

4. GPXデータ転送

SD Cardの中に/osmandというフォルダがあるはずなので、その下にtracksフォルダを作る。(/osmand/tracksとなるようにする) tracksフォルダを作ったら、その下に先ほど作ったGPXデータを保存する。ファイル名は、後でわかりやすい名前にしておくといい感じです。

5. osmandでGPXデータを表示する

osmandでは、OpenStreetMapというベクタ地図データと、自分のGPXデータを重ねて表示することが出来ます。これにより、オフライン状況でもAndroid上でログデータを再生することが出来ます。
OpenStreetMapについてはこちらをご参照。(http://openstreetmap.jp/)
  1. osmandを起動
  2. Mapを押す
  3. Menuキーを押して、"Define View"を選ぶ
  4. "GPX tracks..."にチェックを入れると、/osmand/tracks内のファイル一覧が出てくるので、表示したいファイルを選ぶ
  5. 地図上にGPXデータが表示される

オフライン地図を使う場合は.. (osmand+ 0.6.8 beta時点)
  1. Menu -> Settingsで、設定画面を表示する。
  2. "Maps"で"Offline vector maps"にチェックを入れる。同画面において、"Overlay map", "Underlay map"はチェックをはずしておく(3Gでつながる場合はチェックを入れてもいいかも?)
  3. "Offline data"で、downloadを押し、必要な地図を手に入れる。japanとかでフィルタすると出てくる。必要な分だけにしておくほうがよい(1サイズ400MBとかあったりする)

その他. osmandのナビゲーション機能を使う

osmandにはルートガイド機能も付いています。GPXデータを使うことで、ナビっぽいことが出来ます。0.6.8 betaでは、直接GPXデータでのナビを起動する手段がなくなってしまったので、以下の手順をたどります。
  1. 任意の位置を暫定として目的地として選ぶ。地図を名が押しすると、Point on mapとしていったん場所が選ばれるので、出てきた四角をもう一度押して、Navigate to Pointを選ぶ。
  2. メニューからDirectionsを選ぶ。1.の操作をしていないと、目的地がないため選べない。
  3. Routing directionの画面でGPX Routeを撰ぶ。
  4. Reverse やらなんやら出てくるが、チェックをいれず、apply。

最後に

AndroidでならMy TracksやGoogle My Mapなどの手段もありますが、GPXデータを直接扱えること、オフライン地図を使えることなどから、また違ったGPSログの楽しみ方が出来るんではないかと思います。

以上です。
[PR]

by hisa-doghouse | 2011-10-23 18:26


     PSPgo (PSP-N100... >>