huawei「ヘルスケア」アプリのデータからTCXファイルを得る【Hitrava】
huawei「ヘルスケア」アプリのデータからからTCXファイルを得てStravaやRideWithGPSで利用するための手順
私はロードバイクに乗るようになってからはRideWithGPSとLocusMapでログをとっている。これらはTCXやGPXといった汎用性のあるデータとして出力できるため、データのバックアップや移行が楽である。これを利用し、DropboxとRideWithGPSにログを保存している。しかし、シティサイクルのときに使っていたhuaweiの「ヘルスケア」アプリではアプリ単体でトラックデータを抽出できない。


シティサイクルでの記録と人生始めての「ロングライド」
これがロードバイクへのきっかけの一つなのは間違いない
そこでHitravaというものを使ってみた。
使い方はページの下の方に書いてある。英語だが特に難しくないし機械翻訳でも十分読める。
まずhuaweiにデータをリクエストする必要がある。スマホ本体の設定→一番上のアカウントをタップ→プライバシーセンター→自分のデータを要請からヘルスケアのデータをリクエストする。この際パスワードを設定する。このパスワードは数日後に必要になり、再発行ができないため忘れないように。
私の場合は5日経つとデータのダウンロード準備ができたとメールの通知が来た。
メール内のアドレスにアクセスし、Request your data からデータをダウンロードする。
Pythonをインストールする。
Code→Download ZipからHitravaをダウンロードし、展開する。
7-ZipのStandalone console versionをダウンロードし、展開する。
Hitravaのフォルダに7-Zipの7za.exeと、先程ダウンロードしたヘルスケアのデータのZipファイルを名前をHiZip.zipにして入れる。
Run_Hitrava_Decrypt.cmdのpasswordの後ろに設定したパスワードを書いて保存
Hitrava.py --zip HiZip.zip --password password_test --json_export
pause
Run_Hitrava_Decrypt.cmdをダブルクリックして実行
Output内にTCXファイルが生成される
中を覗いてみると概ね2秒ごとに記録されている。 アプリ内では細かい速度変化などは分からないが、内部データは詳細に記録しているらしい。
<Trackpoint>
<Time>2020-06-27T16:47:48+09:00</Time>
<Position>
<LatitudeDegrees>35.651209</LatitudeDegrees>
<LongitudeDegrees>139.448473</LongitudeDegrees>
</Position>
<DistanceMeters>28590.833321000006</DistanceMeters>
</Trackpoint>
<Trackpoint>
<Time>2020-06-27T16:47:50+09:00</Time>
<Position>
<LatitudeDegrees>35.651239</LatitudeDegrees>
<LongitudeDegrees>139.44845</LongitudeDegrees>
</Position>
<DistanceMeters>28594.759861000006</DistanceMeters>
</Trackpoint>
RideWithGPSとStravaにも問題無くアップロードできた。TCXファイルには高度情報が無いが、アップロードするとそれぞれの高度と結び付けられて獲得標高等も得られる。
strava multiple ride mapper で作成したママチャリロングライドの記録。
おしまい。