TrailCam

ガイド

GPX ファイルを読み込んだら時刻がずれているのはなぜ?

きちんと記録できたルートをアップロードすると、地図の上では正しい場所にぴったり乗っているのに、隣に表示された時刻だけが数時間早かったり遅かったりする。昼に歩いたはずのルートが未明に始まったことになっている。ファイルはどこも壊れていません。GPX はそもそもタイムゾーンを保存しない形式で、渡した先のサービスがそれを推測で補っているだけです。

結論から

GPX の時刻は UTC(協定世界時)で書かれていて、タイムゾーンの情報は一切ついていません。アップロードした先でルートが未明に始まったように見えるとき、その点自体は正しく記録されています。実際に起きているのは、UTC の値がそのままローカル時刻として表示されているか、受け取ったサービスが実際とは違うタイムゾーンで変換している、というだけです。

これは表示上の問題であって、データの問題ではありません。緯度・経度・標高・点の並び順は何も変わっていません。変わって見えるのは、各点に添えて表示される時刻だけです。

GPX が UTC しか持たない理由

GPX ファイルの時刻表記は決まった形——日付と時刻のあとに UTC を示す「Z」が続く——を毎回とります。タイムゾーンのオフセットや場所を書く欄はそもそも用意されておらず、これは見落としではなく意図的な設計です。ある大陸で記録されたファイルが別の大陸で開かれても、指している瞬間そのものは変わってはなりません。それを保証する唯一の方法は、すべての時刻を、どこでも変わらない単一の基準に固定してしまうことです。UTC がその基準です。代わりに、人が読める時刻に戻す作業は、開く側のソフトにすべて委ねられます。

ずれは実際どこから来るのか

原因は一つではなく、同じ症状を生む要因がいくつかあります。

  • サービス側のプロフィールに設定されたタイムゾーン。Strava や Garmin Connect などは、UTC をアカウントに設定されたタイムゾーンへ変換します。実際に歩いた場所のタイムゾーンではありません。自宅の設定のまま海外で記録すると、現地時刻ではなく自宅の時刻で表示されます。
  • タイムゾーンの処理を一切していないビューア。単純なツールの中には、UTC の値をそのままローカル時刻のように印字するものがあり、この場合が最もずれが大きく見えます——数分ではなく数時間単位で。
  • 夏時間の切り替えの前後。切り替えの数日前後に記録したルートは、変換に使われる固定オフセットが、実際に歩いていた瞬間のオフセットと一致しないために、1 時間ぶんずれて感じられることがあります。
  • 記録した時点での端末自体の時計。稀ですが、システム時刻が狂ったままの端末で記録すると、その誤差はすべての時刻にそのまま焼き込まれ、あとからどれだけ正しくタイムゾーンを処理しても取り戻せません。

これが意味しないこと

ファイルが壊れているという意味ではなく、録り直しや書き出しのやり直しが必要という意味でもありません。距離、獲得標高、ペース、地図上のルートの形は、すべて座標と時刻同士の間隔から計算されていて、表示される時刻そのものが間違っていても、それらは何も変わりません。地図の上では完璧なのに、始まった時刻だけがありえない、という組み合わせこそ、まさにこれが起きている一番わかりやすい印です。

表示される時刻を直すには

時刻を間違って表示しているサービス側のタイムゾーン設定を確認してください。ふつうはプロフィールかアカウントの設定で、ファイル自体をどうこうする話ではありません。この設定を一度直しておけば、いま気づいたファイルだけでなく、あとからアップロードするすべてのファイルの表示が直ります。

ファイルの中の時刻を直接書き換えることも、技術的には可能です。プレーンテキストなので、適切なツールがあればすべての点に同じオフセットを加えられます。ただ、その時刻はそもそも間違っていたわけではないので、これが正解になる場面はまずありません。どこかに渡す前に、印字される時刻をあらかじめローカル時刻に揃えておく必要がある、という特別な事情があるときだけ意味があります。

TrailCam でできること

TrailCam はルートを GPX 1.1 として書き出します。Strava・Garmin Connect・Komoot がどれも読める仕様で、その時刻も、規格に準拠したすべての GPX ファイルと同じ UTC の約束ごとに従っています。書き出した先で時刻がおかしく見えるなら、直すべきはその先のサービスのタイムゾーン設定であって、書き出し自体ではありません。書き出しは任意の TrailCam Pro に含まれる機能で、アプリ自体のダウンロードは無料です。

よくある質問

読み込んだ GPX ファイルの時刻がずれているのは、ファイルが壊れているということですか?
いいえ。座標・標高・点の順序は影響を受けません。GPX の時刻は UTC で、タイムゾーンを保存していないため、表示される時刻は開いたアプリがその UTC の値をどう変換するかだけで決まります。
GPX ファイルにタイムゾーンを保存して、このずれを防ぐことはできますか?
できません。この形式が保存するのは UTC の時刻だけで、タイムゾーンのオフセットを書く欄がそもそもありません。ローカル時刻への変換は、ファイルを開く側のソフトにすべて委ねられています。
表示される時刻がずれていると、距離や標高の数字にも影響しますか?
しません。それらは座標と時刻同士の間隔から計算されていて、画面に表示される時刻そのものからは計算されていません。時計の表示がずれていることと、ルートが正確であることは矛盾しません。

自分のルートを記録する

TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。

App Store でダウンロード