山行の途中でタイムゾーンをまたぐと、記録された時間はおかしくなるのか
十分な距離を自転車で走る、あるいは地点から地点へ歩く長いルートをたどると、どこにも目印がないままタイムゾーンの境界を越えてしまうことがあります。気づく手がかりは、スマホが静かに時刻の表示を切り替えることだけです。丸一日分の記録をそのスマホに任せる前に、これは気になって当然の疑問です——時計そのものが切り替わったのなら、記録された行動時間もいっしょに切り替わってしまうのではないか。答えはノーで、その理由は記録がタイムゾーンについて何か賢い処理をしているからではありません。行動時間はそもそもローカル時刻から計算されていないからです。
短く答えると
変わりません。山行や自転車での移動、その他どんな記録中のルートであっても、タイムゾーンをまたいだこと自体は、あとで表示される距離、時間、行動時間、ペースのどれにも影響しません。GPS の記録が持つ各点には、絶対時刻——協定世界時(UTC)、地球上のどこに立っていても変わらない同じ基準——が付いています。そして時間に関する数字はすべて、この絶対時刻どうしを比較して作られていて、その瞬間にスマホが画面に表示している「何時」を読み取って作られているわけではありません。ローカルの時計は歩いている途中で変わることがあっても、その上に組み立てられている計算は変わりません。
内部の時計がそもそも動いていない理由
GPS の記録は、ある地点に対して「朝の九時二十分」というような形で時刻を保存しているわけではありません。保存されているのは UTC で表した一つの瞬間で、GPX ファイルがすべてのタイムスタンプにこの規約を使っているのもまったく同じ理由からです。ある大陸で記録されたルートは、別の大陸で開かれたときにも同じ瞬間を意味していなければならず、それを保証する唯一の方法は、どのタイムゾーンに立っていても変わらない基準に沿ってすべてを測ることです。行動時間もペースも、この UTC の瞬間どうしの差——最後の点のタイムスタンプから最初の点を引いた値や、動いていた区間ごとの点と点の差の合計——から計算されています。この計算のどこにも「いま自分はどのタイムゾーンにいるか」という手順は入っていません。
タイムゾーンをまたいだとき、実際に変わるもの
タイムゾーンを自動で更新する設定になっている iPhone は、境界を越えたと判断した瞬間に表示時刻を切り替え、ロック画面の時計が前後に飛ぶことがあります。そこで動いているのは、ある瞬間に貼られたラベル——それを声に出して呼ぶときの言い方——であって、瞬間そのものではありません。境界を越える一秒前に記録された点と、一秒後に記録された点は、UTC で見ればあくまで一秒しか離れておらず、それはその前後にある二つの時計の文字盤がそれぞれ何を表示していたとしても変わりません。
これは、GPX ファイルをどこかにアップロードしたあとに開始時刻がおかしく見えるときによく起きている現象と、根っこは同じ話です。座標そのものや内部の時刻の測り方には手が付いていなくて、その上に重ねて表示している人間向けの時刻表示だけが動いている、という点です。
ストップウォッチなら壊れても、GPS の記録は壊れない理由
ここで本当に壊れうるやり方があるとすれば、それは開始時のローカル時刻を紙に書き、終了時のローカル時刻を紙に書き、あとで手で引き算するという方法です。その途中でタイムゾーンをまたいでしまえば、その引き算は単純に間違った答えを出します。もともと同じ物差しに乗っていない二つの数字を引き算しているからで、摂氏の気温から華氏の気温を引き算するのが意味をなさないのと同じことです。記録されたトラックはこの間違いを起こしません。そもそもローカルの時計の読みを二つ引き算するという処理を、一度もしていないからです。常に絶対的な瞬間どうしを比較していて、絶対的な瞬間は近くにある時計の文字盤が何を表示していようと気にしません。
サマータイムの切り替えも、仕組みとしては同じ
たまたまサマータイム(夏時間)の切り替わりをまたいでしまう山行も、規模が小さいだけで実は同じ状況です——物理的な境界線を越えるわけではなくても、ローカルのオフセットが一時間分ずれます。これが記録された行動時間に特別なリスクをもたらすことはなく、理由もタイムゾーンの場合とまったく同じです。オフセットは表示のためにある瞬間へ貼るラベルにすぎず、そのラベルを貼られる瞬間そのものは、どちらの側でも影響を受けていません。
勘違いしやすいところ
- タイムゾーンをまたいだルートで、開始時刻と終了時刻の表示がどこかかみ合わないように見えると、行動時間そのものが間違っているに違いないと思い込む——表示されている時刻は見た目が変でも、行動時間はその二つの表示ラベルから計算されたものではないので、正しいままです。
- 複数日にわたる旅程を、どこかにメモしたローカルの開始時刻と終了時刻を手で引き算して合計しようとする——これはまさに壊れるやり方で、GPS の記録そのものが同じ境界越えをどう扱うかとは、まったく関係ありません。
- 記録の精度を保つために、スマホに「いまどのタイムゾーンにいるか」を教えてやる必要があると思い込む——その必要はありません。記録は、スマホがローカルのタイムゾーンをどう認識していようと関係なく、ずっと絶対的なタイムスタンプを書き続けています。
- 境界をまたぐちょうどそのタイミングで一時停止していたルートは、何か違う挙動をするのではと心配する——しません。一時停止している区間はどちらにしても点が記録されないので、その間のタイムゾーン変化にはそもそも触れるものがありません。
TrailCam でできること
TrailCam は外にいるあいだずっとルートをバックグラウンドで記録し、実際に記録された点から距離・行動時間・ペース・獲得標高を出します。書き出す GPX 1.1 ファイルも、あらゆる正しい GPX ファイルが従う同じ UTC の規約で書かれます。数日にわたる旅でも、たった半日の山行でも、その瞬間にスマホがどのタイムゾーンにいると思っているかは、これらのどれにも関係ありません。TrailCam はダウンロード無料です。GPX / CSV での書き出しは、任意の TrailCam Pro に含まれる機能です。
よくある質問
- 山行の途中で新しいタイムゾーンに入ると、記録された行動時間が一時間ずれたりしますか?
- ずれません。行動時間は、記録された各点に付いた絶対的な UTC のタイムスタンプから計算されていて、そのときスマホが表示しているローカルの時刻からは計算されていないので、途中でタイムゾーンをまたいでも数字は変わりません。
- 記録の精度を保つために、アプリに今いるタイムゾーンを教える必要はありますか?
- ありません。スマホがどちらのタイムゾーン設定になっていても、記録は各点に絶対的なタイムスタンプを書き続けます。時間に関する数字はすべて、そのタイムスタンプどうしを比較して作られていて、ローカルの時計とは比較していません。
- タイムゾーンをまたぐのではなく、サマータイムの切り替えをまたいだ山行の場合はどうですか?
- 考え方はまったく同じです。サマータイムの切り替えは、ある瞬間に貼られるローカルのラベルを変えるだけで、瞬間そのものは変えません。ですから記録された行動時間への影響は、タイムゾーンの境界を越える場合と同じく、事実上ありません。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。