GPXファイルには速度が記録されているのか
いいえ、専用の項目としては入っていません。GPXの1ポイントは、位置情報と、たいてい標高、たいていタイムスタンプという決まった項目だけで構成されていて、速度はその中に入っていません。とはいえ、GPXファイルから速度がまったくわからないわけではありません。ファイルが本当にどうやっても記録できないもの――たとえば天気――とは違い、速度はいつでもあとから計算し直せます。速度の元になる2つの材料、つまりポイント同士の距離とタイムスタンプの差は、すでにファイルの中にそのまま入っているからです。
結論から言うと
GPX 1.1はトラックポイントに決まった項目しか用意しておらず、速度はその中に含まれていません。1ポイントが持つのは緯度と経度、たいてい標高、たいていタイムスタンプで、これはスマートフォンで記録したファイルでも、専用のGPS機器やGISソフトで作ったファイルでも変わらない短い共通リストです。GPXファイルを開いたあとに地図やグラフで速度が表示されるとしたら、その数字はファイルから直接読み込んだものではなく、開いたアプリ側があとから計算した値です。
トラックポイントが実際に持っている項目
位置情報・標高・時間の3つは、GPXファイルを読み込むほぼすべてのソフトが必要とする項目で、フォーマットが最初に公開されたときから変わらず持ち続けている項目です。この短くて決まったリストのおかげで、GPXはまったく別々のソフト同士でもやり取りできます。Strava、Garmin Connect、Komoot、GISソフトのどれで開いても、同じ項目を同じ意味で読み取れるのは、合わせるべき項目の数をあえて少なく保っているからです。
速度に専用の項目が要らなかった理由
GPXファイルにはどうやっても記録できないものもあります。ハイキング中の天気などは、位置や時間との間に、あとから読み手側が組み立て直せるような関係が何もありません。速度はこれとは事情が違います。連続する2ポイント間の距離と、その2つのタイムスタンプの間の時間差は、どちらもすでにファイルの中にあり、速度はその一方をもう一方で割っただけの数字です。速度専用の項目を用意するということは、どうせファイルが持っているデータからいつでも組み立て直せる数字を、あらためて保存しておくことになります。だからこのフォーマットは、速度を記録時にその場で書き込むものではなく、後から必要になったときに計算するものとして扱うことにしたわけです。
同じファイルなのに速度が2つの数字になる理由
速度がそもそも保存されていないということは、読み込むときも「読み出す」のではなく、そのつど計算し直しているということです。速度を表示するアプリはどれも、同じ生のポイント列に対して自分なりの計算をしていて、その計算のやり方に小さな違いがあるだけで、元のファイルは何も変わっていないのに答えが変わってきます。あるアプリは1〜2秒おきの隣り合う2ポイントだけを見て、その場その場の速度を出します。別のアプリはいくつかのポイントをまとめて滑らかにしてから計算し、近接した2ポイントの間にどうしても入り込むGPSのわずかなブレを抑えようとします。どちらもファイルに保存された数字を読んでいるわけではなく、同じ位置とタイムスタンプのデータに対して計算をしていて、その結果がわずかに違ってくる。これが、同じGPXファイルなのにアプリによって速度やペースの数字が変わる、大きな理由のひとつです。
速度が保存されているとしたら、唯一ありうる場所
GPXには、コアの項目にはない種類のデータのために用意された、任意のextensions(拡張)ブロックがあり、機器によってはそこに速度の値を書き込んでいることがあります。ただ、extensionsブロックはそれを書いたときの名前空間を知っているソフトしか正しく読めません。別のアプリが同じファイルを開いたとき、そのデータをそのまま読み飛ばしても何の不具合でもありません。extensionsの中にしまわれた速度の値は、それを書いた機器やアプリから別の場所に移った先でも同じように読めるとは、あてにできないものです。
TrailCamはどこに関わるか
TrailCamから書き出されるルートは、素のGPX 1.1ファイルです。すべてのポイントに位置・標高・時間があり、それはどのソフトもすでに読み方を知っている項目で、TrailCam自身でしか正しく戻せないextensionsブロックに速度の値を埋め込むようなことはしていません。ペースや距離はTrailCamの中で、記録した自分のポイントからその都度計算して表示しています。それはどのアプリでもやっていることと同じで、書き出されるファイルはその下にある生のトラックだけを運びます。GPXとCSVの書き出しは任意のTrailCam Proアップグレードに含まれる機能で、アプリ本体は無料でダウンロードできます。
よくある質問
- GPXファイルには速度の代わりにペースが入っているのですか?
- 入っていません。理由も同じで、ペースも距離を行動時間で割ってあとから計算する数字であり、GPXのどのバージョンの規格にもそのための項目はありません。ペースはファイルを見ているアプリや表計算ソフトの側が計算するもので、ファイルの中に保存されているわけではありません。
- 速度がGPXファイルに入っていないのに、取り込んだあとに速度グラフが表示されるのはなぜですか?
- アプリ側が計算しているからです。トラックポイントを順番にたどり、隣り合うポイントごとに距離と時間差を出して、片方をもう片方で割り、その結果をグラフにしています。速度用のextensionsを持たないGPXファイルを開くたびに、この計算は同じように行われます。グラフは保存された数字から取り出しているのではなく、位置と時間からそのつど作り直されています。
- 自分でGPXファイルに速度の値を追加できますか?
- extensionsブロックの中に非公式な形で入れることはできますが、それを書いたソフト以外が正しく読み返せるという保証はありません。別のツールへ移しても残ってほしい数字なら、位置と時間から速度を計算する処理をファイルを開いた側にやらせるほうが確実です。どのGPXリーダーでも同じように動く計算だからです。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。