Python でSTRAVAのデータを描画する

Python でSTRAVAのデータを描画する

はじめに

ランニングとサイクリストのためのSNSサービスがSTRAVAです。
STRAVAではスマートホンやサイクルコンピューター、スマートウォッチからGPSや活動量のデータを登録することができ、同じ趣味の人たちと楽しむことができます。通常の利用の仕方でいろいろなデータ解析を行うことができますが、プログラムを通じて自分なりにデータを解析を行なってみることにしようと思います。

gpxデータ

STRAVA のgpxデータをグラフします。
実際に走行しないでも、gpxデータはSTRAVAのMyルートで作成できます。
プログラムに直接関係ありませんが、サイコンのナビに使うこともできますのでおすすめな機能です。
自転車ルートが選ばれるところがよいところです。
まずSTRAVAのアクティビティの個々のページに行きスパナのアイコンのアクションボタンを選択してgpxデータをダウンロードします。

gpxpyをインストールする

pip install gpxpy

matplotlibで表示

コードは以下となります。

google map表示

表示にはjupyter notebook 上でgpxpyとgmapsを使います。
gpxデータの読み込みは前回と同様に行います。
gmapsのインストールはGitHubを参考してください。
*Installing jupyter-gmaps with pipで行いました。
https://github.com/pbugnion/gmaps

gmaps参考サイト

コード

tcxデータ

STRAVA のtcxデータをグラフにします。
BeautifulSoupとlxmlでデータを取り込みます。ようするにlxmlファイルのスクレイピングです。
あとは、pandasとnumpy計算します。
斜度の計算も行いましたが、距離の微分で高度の微分を割っていますが、それで合っているかは不明です。緯度、経度からの計算方法もあったのですが、少し面倒なので今回は書きません。

おわり

稚拙ですが、地図上の描画や活動量の地形などのデータの相関性を解析することができたかもしれません。
今回、データを解析することによりスクレイピングの方法も学べたことは有意義でした。

Pythonカテゴリの最新記事