Googleロケーション履歴から、
YAMAP用にGPXデータを取り出す


YAMAP使っていてGPSがうまく取れていないことがありました。もしかしたらGoogleのデータで補完できないかと思いました。調べてみると、Googleのサイトで自分のデータをダウンロードが可能で、ロケーション履歴がにGPSの記録が残ってるようでした但し、いくつか問題がありました。


作りたいプログラム

ということで、変換プログラムを作ることにしました。要件は下記の通り。


作ったプログラム

2つのPythonのファイルでプログラムを構成します。

1.GPXファイルの出力 (GpxOutput.py)
座標データを受け取ってXMLファイルを構成し、前座標と1時間以上離れていたらファイルを出力します。
2.KMLファイルの入力 (KmlInput.py)
KMLをパースして、時刻と座標のデータだけ抜き出し、GpxOutput.pyに渡します。

数時間でチャチャっと作った簡単なプログラムです。変換したGPXファイルはYAMAPで読めました。

でも、Googleのロケーション履歴データもボロボロで結局使えませんでした。ガックシ。


GPXファイルの出力

GpxOutput.py

GPXファイル形式は、GPXのサイトを見てください。かなり複雑ですが、省略可能なタグも多いし、時刻と経度と緯度と高度を表記するだけだと、必要なタグは以下の6つになります。

プログラムの中身は以下の4点になります。


KMLファイルの入力

KmlInput.py

KMLファイル形式は、GoogleのKML Referenceページを見て下さい。SAXでパースする観点で見ると、whenタグで囲われたテキストが日付、whenの次のgx:coordタグで囲われたテキストががスペースで区切った、経度、緯度、および高度の3つの値で構成される座標値と分かっていればよいので、他は無視します。ということで、KMLハンドラの中身は以下の3点になります。



トップ戻る
記述内容について一切保障しません。 リンクは自由に行ってかまいません。
Since 2020/03/01, Final update 2020/03/01, Presented by Ishida So