STRAVAのGPXとFITBITのTCX
StravaのAndroidアプリとFitbit Charge2×Fitbit Androidアプリで保存したライドログデータを比較してみました。
Trackタグの中には、各計測時刻での座標(緯度・経度)と標高、走行距離、心拍数が延々と記録されています。
GPXのtrksegタグの中には、各地点の座標(緯度・経度)と標高、計測時刻が延々と記録されています。
FITBITのTCXは時刻ベース、STRAVAのGPXは座標ベースとなっているのが一つの差ですね。STRAVAは信号などで停止すると自動停止し、その時間記録が止まります。動き始めてからまた記録が始まります。ですので、長い休憩をはさんだロングライドではデータ量に相当差が出そうです。ですが、今の時代データはすぐにクラウドに上がるのでそのデータ量はあまり気にしなくてもいいポイントだと思います。
次に、緯度・経度の精度が異なっていることがわかります。TCXは小数点以下14桁に対し、GPXは小数点以下7桁。さらに7桁目は常にゼロですので実質6桁。どの程度の差が有意な誤差になるのか、Google Mapで調べてみると、小数点以下5桁目が変わると数m程度動くようです。ヒュベニイの平均経度の式で緯度38.26度付近で緯度0.000001変わると11.1cm、経度0.000001変わると8.7cm。こちらもあまり気にする必要はなさそうです。
最後に標高を見てみます。上に出したのは1件目のデータなのでGPSも安定していない状態ですが、GPSが安定したところでも標高が全然違います。FITBITのほうは「AltitudeMeters」と明示しているのでメートルです。実標高ともほぼ合っているように見えます。しかし、STRAVAの「ELE」がどうにも合わない。調べてみるとSTRAVAは独自に標高のデータベースを持っているようで、そちらをルックアップしつつ、GPSのデータも見ているようです。(参考サイト)しかし、画面で見る標高の値とGPXデータに出力される標高の値が異なるのはちょっと違和感ありますね。
StravaのWeb画面からはGPXファイルが、FitbitのWeb画面からはTCXファイルをダウンロードすることができます。
STRAVAのGPX
<?xml version="1.0" encoding="UTF-8"?> <gpx creator="StravaGPX Android" version="1.1" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd"> <metadata> <time>2018-05-28T09:09:25Z</time> </metadata> <trk> <name>Evening Ride</name> <trkseg> <trkpt lat="38.2606010" lon="140.8754790"> <ele>43.4</ele> <time>2018-05-28T09:09:25Z</time> </trkpt> (中略) </trkseg> </trk> </gpx>FITBITのTCX
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"> <Activities> <Activity Sport="Biking"> <Id>2018-05-28T18:08:08.000+09:00</Id> <Lap StartTime="2018-05-28T18:08:08.000+09:00"> <TotalTimeSeconds>4370.0</TotalTimeSeconds> <DistanceMeters>18981.940000000002</DistanceMeters> <Calories>534</Calories> <Intensity>Active</Intensity> <TriggerMethod>Manual</TriggerMethod> <Track> <Trackpoint> <Time>2018-05-28T18:08:08.000+09:00</Time> <Position> <LatitudeDegrees>38.2607057094574</LatitudeDegrees> <LongitudeDegrees>140.87479209899902</LongitudeDegrees> </Position> <AltitudeMeters>83.7</AltitudeMeters> <DistanceMeters>0.0</DistanceMeters> <HeartRateBpm> <Value>94</Value> </HeartRateBpm> </Trackpoint> (中略) </Lap> <Creator xsi:type="Device_t" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Name>Fitbit Charge 2</Name> <UnitId>0</UnitId> <ProductID>0</ProductID> </Creator> </Activity> </Activities> </TrainingCenterDatabase>TCXのほうはヘッダーにサマリーがあります。総時間や距離、計算された消費カロリーなどが載ってます。
Trackタグの中には、各計測時刻での座標(緯度・経度)と標高、走行距離、心拍数が延々と記録されています。
GPXのtrksegタグの中には、各地点の座標(緯度・経度)と標高、計測時刻が延々と記録されています。
FITBITのTCXは時刻ベース、STRAVAのGPXは座標ベースとなっているのが一つの差ですね。STRAVAは信号などで停止すると自動停止し、その時間記録が止まります。動き始めてからまた記録が始まります。ですので、長い休憩をはさんだロングライドではデータ量に相当差が出そうです。ですが、今の時代データはすぐにクラウドに上がるのでそのデータ量はあまり気にしなくてもいいポイントだと思います。
次に、緯度・経度の精度が異なっていることがわかります。TCXは小数点以下14桁に対し、GPXは小数点以下7桁。さらに7桁目は常にゼロですので実質6桁。どの程度の差が有意な誤差になるのか、Google Mapで調べてみると、小数点以下5桁目が変わると数m程度動くようです。ヒュベニイの平均経度の式で緯度38.26度付近で緯度0.000001変わると11.1cm、経度0.000001変わると8.7cm。こちらもあまり気にする必要はなさそうです。
最後に標高を見てみます。上に出したのは1件目のデータなのでGPSも安定していない状態ですが、GPSが安定したところでも標高が全然違います。FITBITのほうは「AltitudeMeters」と明示しているのでメートルです。実標高ともほぼ合っているように見えます。しかし、STRAVAの「ELE」がどうにも合わない。調べてみるとSTRAVAは独自に標高のデータベースを持っているようで、そちらをルックアップしつつ、GPSのデータも見ているようです。(参考サイト)しかし、画面で見る標高の値とGPXデータに出力される標高の値が異なるのはちょっと違和感ありますね。