(2021-08-15 初稿 - 2021-03-01 追記)
筆者は、オートバイのツーリングや自転車でのポタリング、山のハイキング等、アウトドア生活を楽しんでいます。
これまでは、スマフォのGPSのログ機能を使っていましたが、GPSの精度がイマイチなのとバッテリー消費の心配から、GPSの記録の専用のGPSロガーを購入しました。
購入したGPSロガーは、CANMOREのG-PORTER GP102+(以下、GP102)で、2020年8月16日にAmazonで4,880円で購入しました。
本体が100g程度で軽く、安いGPSロガーがあるのですね。
ちなみに、GP102に付属していたCDのソフトはWindows7用らしいので、Windows10をお使いの方にも多少参考になるかもしれません(宣伝 ^^;)。
購入したCANMOREのG-PORTER GP102+
開封してマニュアルを見たのですが、GPSロガーを初めて使う筆者には、使うことができそうになかったので、ネットで検索して、以下のPDFファイルをダウンロードしてようやくなんとか使えるようになりました。(^_^;)
以下のリンクのうち、日本語説明書というPDFです。
ここでは、この装置の使い方は上記PDFに譲り、以下では筆者が利用しているdebianでの使い方を記載します。
筆者の2020年8月現在の環境は以下のとおり。
・Debian 4.19.132-1 (2020-07-24)
ログを記録したGP102を付属のUSBケーブルで接続すると、USBメモリ等と同様にファイルを開くか聞いてきます。
ファイル構造としては、以下のとおりです。
GP-102/
├── Activities
│ └── 005.fit
├── Device.xml
├── NewFiles
├── POIs
│ └── 001
├── Settings
│ └── Settings.dat
└── Trips
ここで必要になるディレクトリは、Activitiesに含まれるxxx.fitファイルです。
ちなみに、FITとは、FIT (Flexible and Interoperable Data Transfer) の略だそうです。
ここでは、005.fitファイルをお好きなディレクトリにコピーします。
FITファイルは、バイナリーファイルなので、なかなか取扱いが大変なので、ここではKMLファイルに変換してGoogle Earth等でログを確認します。ちなみに、KMLとは、KML(Keyhole Markup Language)の略だそうです。
まずは、以下のとおり、gpsbabelをインストールします。
sudo apt install gpsbabel
GUIがお好みの方は、以下のとおりGUIのgpsbabelがインストールできます(必須ではありません)。
sudo apt install gpsbabel-gui
gpsbabelは、とてもたくさんのオプションがあるので、筆者は以下のサイトを参考にさせていただきました。多謝。m(__)m
コマンドで実行する場合は、以下のように実行します。なお、ここではホームディレクトリ直下に保存した006.fitファイルを006.kmlに変換します。
$ gpsbabel -t -i garmin_fit -f ~/006.fit -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F 006.kml
(2020年8月18日 追記)
オプションが多くて覚えきれないので、以下のbashスクリプトを作成しました。
出力は、ファイルの日付-時間.kmlにしました。Linuxで読み取ると、ファイルの時刻が変になってしまいますね。(手抜き)^^;
(2020年8月23日 追記) 元のfitファイルが単なる数字だったので、日付のファイル名に変更しました。
$ cat ~/bin/fit2kml
#!/bin/bash
# 2020-08-18 start Written by hymd3a
# convert fit to kml
# ver0.02 [2020-08-23] mv fit filename
if [ $# -ne 1 ]; then
echo "[Usage] fit2kml fit_file"
echo " output date-hms.kml"
exit
fi
fbase=$(date "+%Y-%m-%d-%H%M%S" -r $1)
#echo $fbase
gpsbabel -t -i garmin_fit -f $1 -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F $fbase.kml
# add H.Y [2020-08-23]
mv $1 $fbase.fit
スクリプトを作成したら、chmod +x fit2kml で実行権を与えてください。
さらに、ディレクトリに保存されている???.fit(3ケタの数字)ファイルを一括して変換するには、以下のとおり実行します。
$ for f in ???.fit; do fit2kml $f; done
GUIで変換する場合には、下図を参考に変換してください。
なお、出力のオプションについては、コマンドのhelp等で調べてください。
GUIのgpsbabel コマンドとオプションが異なっています。^^;
Google Earthはgoogleからダウンロードして以下のとおりインストールします。
ちなみに、Debian64bitの場合は、google-earth-pro-stable_current_amd64.deb ファイルをダウンロードします。
$ sudo apt install google-earth-pro-stable_current_amd64.deb
インストールしたGoogle Earthを起動して、ファイルメニューから開くで、変換したkmlファイルを表示させます。
近所を自転車で走り、1秒間隔で保存したkml
赤字のとおり、詳細な位置が記録されている。
このままでは、あまりおもしろくない。
上図のとおり「保留」ディレクトリの最下層のPathまで表示させ、右三角形が表示された経路のアイコンのボタン(赤丸)をクリックすることにより、移動した経路を3Dで表示させながら、たどることができる。
建物等を3D表示させ、移動した経路をトレース
上記のスクリプトでkmlファイルを作成し、Google Earthで楽しんでいたのですが、どうしても不要なデータがあること、また、バイク等の記録ではその時のスピードを知りたくなり、csvファイルも併せて出力するようにしました。
まずは、fitファイルからcsvファイルを出力する場合は、以下のコマンドになります。
gpsbabel -t -i garmin_fit -f ~/006.fit -o iblue747 -F 006.csv
(2021-03-01 追記)
kmlとcsvファイルを一括して作るbashスクリプトを作成しました。
また、読み込んだファイルのタイムスタンプが9時間ずれるので、修正するようにしました。
#!/bin/bash
# 2020-08-18 start Written by hymd3a
# convert fit to kml and csv
# ver0.02 [2020-08-23] mv fit filename
# ver0.03 [2021-02-28] both kml cvs
# ver0.04 [2021-02-28] 9 hours adjust
if [ $# -ne 1 ]; then
echo "[Usage] fit2kml fit_file"
echo " output date-hms.kml"
exit
fi
fday=$(date "+%Y/%m/%d %H:%M:%S" -r $1 )
fbase=$(date "+%Y-%m-%d-%H%M%S" -d "$fday 9 hour ago")
#echo $fbase
#fbase=$(date "+%Y-%m-%d-%H%M%S" -r $1)
#echo $fbase
gpsbabel -t -i garmin_fit -f $1 -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F $fbase.kml
# add H.Y [2021-02-28]
gpsbabel -t -i garmin_fit -f $1 -o iblue747 -F $fbase.csv
# add H.Y [2020-08-23]
mv $1 $fbase.fit
ここまで、駆け足でGP102をDebianで使う方法を記載しました。
いろいろな機器をLinuxで使う場合にも、あまり困らない便利な時代になりました。とてもありがたいことですね。(^o^)
また、何か気がついたら追記します。