最近のデジカメでは、GPSを使って写真に位置情報を記録するだけでなく、リアルタイムな移動ログを記録できるようになっているそうです。手持ちのニコンCOOLPIX P900でもできるようなので、遅ればせながらトライしてみました。目標は、アプリケーションやGoogleマップで地図上に移動軌跡を表示させることです。
移動ログをとる方法は、おのおののデジカメの説明書をご覧ください。ここでは省略!
ログデータの取り出し
まず、デジカメからログデータを取り出します。私は、メモリカードから直接取り出しました。ニコンのカメラの場合、NCFLフォルダに入っています。さらに、P900の場合(他機種でも同じかもしれませんが)、「Nyymmddx.LOG」という形式のファイル名になっています(yy:年、mm:月、dd:日、x:連番)。
このファイルは、NMEA(National Marine Electronics Association)という形式だそうです。なんか、ITっぽくないですね。さらに、GoogleマップではGPX(GPS eXchange format)という形式にしてやれば取り込めるようです。形式をうまく変換してやれば、Googleマップで表示できるということになります。
RouteConverter
NMEA形式とGPX形式をサポートするツールはいろいろあるようなのですが、私はRouteConverterというオープンソースのツールを使ってみることにしました。このツール、変換がメインでなく、地図上に奇跡を表示したり、データそのものを編集できます。
Windows版、Mac OS X版、Linux版があり、特に私はMac OS Xで使いたかったから、チョイスしました。ただ、Java 7かJava 8が必要だそうです。なぜJavaベースなのですか?ということなのですが、作者のコメントによれば、「Javaが好きだから!」だそうです。Bravo!
さっそく、RouteConverterのページにアクセス。なんと、ドイツ語です(作者は今をときめくドイツ人)。しかし翻訳機能も内蔵した、珍しいサイトなので、とりあえず英語にしておけばOK、何とか読めます。
私はMax OS X版をダウンロード。ただ、RouteConverterにはOnline版とOffline版があり、微妙に機能が違います。Online版は、文字通りインターネット接続が使える状態向けで、地図データなどはGoogle Mapsを使います。Offline版はインターネット接続がなくても使えるようになっていて、地図データはオープンなOpenStreetMap, OpenCycleMapなどを使います。
私はインターネット接続がデフォなのでOnline版を使おうとしましたが、なぜか起動させてもメニューも何も出てきません(アプリケーションメニューだけは出てくる)。泣く泣く、Offline版にしました。このへん、どうしてだかわかりません。
ダウンロードはRouteConverterMacOffline.app.zipファイル。解凍するとアプリケーションファイル(RouteConverterMacOffline.app)ができますので、それをアプリケーションフォルダに放り込んでやれば終了。Windowsの場合も、実行ファイル(RouteConverterWindowsOffline.exe)をどこか適当なフォルダに放り込んでデスクトップにショートカットでも置いてやればOKです。Linuxの場合は…。試していないので知りません。スイマセン。
起動しますと、とりあえず世界地図が出てきます。
メニュー[File]→[Open]でファイルを選びます。NMEA形式のファイルなら、拡張子を「.nmea」にしておかないとならないので注意。カメラデフォルトの「.log」のままではフィルターにひっかかって出てこないので開けません。
無事開けると、すぐに該当エリアのマップに変わり、軌跡が表示されます。う〜ん、アプリケーションで軌跡を地図上に表示するという目的はこれで達成。なんともしっちゃかめっちゃかなルートで歩き回っているか、バレバレですねぇ。しかも、途中でワープしたりしているのは、ロギングに失敗しているときもあるのですかね。このへん、よくわかりません…。
ウィンドウを拡大してやると、地図以外の部分が出てきます。画面下には高度も出て、右側では編集ができます。
これだけでもけっこう使えますが、Webで公開したり、誰かにメールで教えるには、やっぱりGoogleマップのほうが便利です。続けて、GPX形式に書き出して、Googleマップで読み込ませてみましょう。
続きはこちら:デジカメのGPSログを地図に表示したい!(その2)