GPX ファイルに複数の軌跡セグメントがあるのはなぜ?
途中で一時停止した記録や、中断をはさんだ記録、複数の記録をつなぎ合わせた GPX ファイルを開くと、中の点が 1 本の途切れない列ではなく、1 つの軌跡の中でいくつかのセグメントに分かれていることがあります。これはファイルが壊れているわけでも、2 つのファイルがくっついているわけでもありません。途切れなく続く記録の中に区切りがあったことを、フォーマット自身が示す仕組みです。
先に結論
GPX の軌跡(trk 要素)は、途切れない点の列を 1 本だけ持つとは限りません。1 つ以上の軌跡セグメント(trkseg)を入れる入れ物であり、それぞれのセグメントが時系列順に並んだ、それ自体は途切れない点の列です。セグメントが 3 つある軌跡でも、ほとんどのビューアには 1 つのファイル、1 回の記録として読み込まれます。変わるのは、中の点が 1 本ではなく 3 本の連続した区間にまとまっているという点だけです。
新しいセグメントは、新しいファイルを作らずに区切りを示すための、フォーマット自体の仕組みです。境界の前後にある座標は、ほかのどの点とも変わらず本物です。変わるのは、軌跡が普段暗に約束していること——隣り合う点は数秒か数分しか離れていない——が、この境界をまたぐ部分では成り立たないという点です。
セグメントが分かれる原因
原因はいくつかありますが、どれも記録がおかしくなったことを意味しません。
- 意図的な一時停止と再開。休憩のために一時停止を押し、あとで再開を押す——アプリによっては一時停止した時点でセグメントを閉じ、再開した時点で新しいセグメントを開くので、区切りがアプリの記憶だけでなくファイル自体に残ります。
- スマホ側が選んだわけではない中断。長いトンネルやバッテリー切れからの再充電など、しばらく空が見えなくなったあとで記録が再開する場合、その間が何事もなかったかのように扱うのではなく、新しいセグメントとして再開するレコーダーもあります。
- 区切りをあえて残す形の結合。片方のファイルの点をもう一方の軌跡セグメントに手作業で貼り付けると、2 つの記録は 1 本の途切れないセグメントのように見えるまとまりになります。専用の結合ツールは、代わりに 1 つの軌跡の中に 2 つのセグメントを残すことが多く、その方が「ここに区切りがあった」という事実を消さずに残せます。
- 複数日分を 1 つのファイルにまとめる書き方。日ごとに GPX を分けるのではなく、朝ごとに新しいセグメントを始める形で旅程全体を 1 本の軌跡として書き出すツールもあります。ファイルは 1 つのまま、中では日ごとの区切りが分かる形になります。
地図はその区切りをどう扱うか
区切りが実際にどう見えるかは、ファイルを読む側のソフト次第で、混乱の多くはここから生まれます。セグメントを理解するビューアは、地図上に隙間を残すか、セグメントごとに別の線として描きます。セグメントの境界を無視して、ファイルの中のすべての点を順番につなぐだけのビューアは、あるセグメントの最後の点から次のセグメントの最初の点まで直線を引いてしまい、これは 1 つの悪い GPS フィックスが作る飛び出しとよく似て見えますが、原因はまったく別物です。飛び出しは、まわりが正常な点に囲まれた 1 点だけがずれたものです。セグメントの区切りは、ファイル自体が宣言している意図的な構造上の区切りで、そこには実際にあった距離と時間の空白がそのまま対応します。
集計のほうは、地図の描画よりも丁寧に作られていることが多いです。セグメントごとに距離を積み上げるツールは、それぞれのセグメントの中で実際に歩いた分だけを足し合わせ、セグメント間の直線区間を誰かが歩いた距離として加えたりはしません。一方で経過時間は、セグメントの有無にかかわらず、最初のタイムスタンプから最後のタイムスタンプまでとして扱われるのが普通です。それは経過時間がほかの場面で意味していること——外に出ていた時間全体、空白も含めて——と同じだからです。
TrailCam でできること
TrailCam は、GPS の速度から止まったと推測するのではなく、あなたが一時停止をタップした瞬間に記録を止め、再開をタップした瞬間に記録を再び始めます。一時停止していた区間は、表示される移動時間から除かれます。完成したルートは GPX 1.1、または CSV のサマリーとして、1 本のルート単位でも履歴全体でも書き出せます。書き出しは任意の TrailCam Pro の機能で、アプリ自体はダウンロード無料です。
よくある質問
- 軌跡セグメントが複数あると、GPX ファイルは壊れているということですか?
- いいえ。1 つの軌跡の中に複数のセグメントがあるのは正常で、有効な GPX です。多くの場合、記録が一時停止・再開されたか、中断があったか、区切りをあえて残す形で複数の記録が結合されたことを意味します。
- セグメントの区切りは、地図では隙間として見えますか、それとも直線でつながって見えますか?
- ビューア次第です。軌跡セグメントを理解するソフトは隙間を残すか、セグメントごとに別の線として描きます。ファイルの点を順番にただつなぐだけのソフトは、区切りをまたいで直線を引くので、原因はまったく違うのに GPS の飛び出しのように見えることがあります。
- 一時停止すると、書き出された GPX ファイルには必ず新しいセグメントができますか?
- 必ずではありません。記録アプリが書き出しをどう作るか次第です。一時停止した区間が移動時間から除かれることは確実ですが、それが GPX ファイルの中で実際に新しいセグメントとして保存されるかどうかは、アプリごとに異なる実装の話です。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。