GPX の「トラック」と「ルート」は何が違う?
登山者に「ルート」と言えば、それは歩いた道そのもの——地図上に引かれた線全体を指します。ところが GPX ファイルの中で「ルート」は、もっと狭い意味を持つ、記録アプリが実際には書き出さないほうのデータ構造を指す言葉です。GPX ファイルの中でトラックとルートがそれぞれ何なのか、日常語と技術用語がなぜずれるのか、そしてそのずれがふだんは気にならないのに、ときどき問題になる理由を説明します。
まず結論
GPX のトラック(ファイル内では <trk>)は、実際に移動しながら GPS 受信機が記録していった、タイムスタンプ付きの点の連なりです。GPX のルート(<rte>)は、あらかじめ決めておいた経路——たどるべき地点を順番に並べたもので、たいていは時刻の情報を持ちません。ハイキングや散歩、サイクリングを記録するアプリが書き出すのはトラックです。出発前にどこを通るかを計画するためのアプリが扱うのは、多くの場合ルートのほうです。すでに歩き終えたハイキングを指して「自分のルート」と言うとき、それはほぼ間違いなくトラックのことです。
それぞれが生まれる瞬間が違う
この違いは、道のりのどの時点で作られたデータかというところにあります。ルートは「前」に属します——地図アプリや手作業で、出発前にあらかじめ引いておいた、順番にたどるべき地点の並びです。トラックは「最中」と「あと」に属します——GPS 受信機がその地点とその間のすべてをたどって記録した、実際の軌跡です。事前に決めたものではなく、起きたことをそのまま記録したものです。GPX の仕様がこの二つを同じファイル形式の中で別々の要素として分けているのは、答えている問いが違うからです。ルートはどこへ行くつもりかを表し、トラックはどこへ行ったかを表します。
データとして実際に何が違うのか
トラックの点
トラックの点にはほぼ必ずタイムスタンプが付いています。受信機が一分間に何度も、その瞬間の位置を記録し続けた結果だからです。タイムスタンプを取り除いても線としては同じ形に描けますが、どの区間をどれくらいの速さで進んだか、いつ立ち止まったかは分からなくなります。トラックは点の密度も高く、距離全体にわたって数秒おきに点が並びます。受信機が実際にそうやって記録しているためです。
ルートの点
ルートの点には、こうした情報がほとんどありません。名前と座標のペアを持つ、訪れるべき地点であって、次の点までにどれくらい時間がかかるかという感覚はありません。ルートは点の数も少なめで、曲がり角や目印になる地点を示す数個の点にとどまることが多いです。連続した軌跡ではなく、計画そのものを表しているからです。
日常語とファイル形式がずれる理由
「ルート」という言葉は、ふだんの会話でも、多くのアプリの画面表示でも、記録した歩き全体——線の形、距離、歩いた場所の輪郭を指して使われます。それはそれで自然な使い方で、ほとんどの人が思い浮かべるのもその意味です。ただ GPX の仕様は、すでにこの言葉を別の、もっと狭い意味——記録のうしろ盾がまったくない、計画された地点の並び——のために使ってしまっています。二つの使い方は本当に対立しているわけではなく、単に前提としている場面が違うだけですが、ファイルを開いて <rte> 要素を探し、それが見当たらないと気づいた瞬間に、このずれが表に出てきます。
どちらが入っているかが実際に問題になる場面
たいていの場合、これは問題になりません。線を描けるだけの地図アプリなら、トラックでもルートでも同じように線を引き、見た目で区別しないビューアがほとんどです。問題になり始めるのは、記録を見返すためではなく、ルートに沿って案内するために作られたナビゲーション寄りのツールです。順番に並んだ地点を頼りに人を案内するものは、<rte> 要素をそのものとして読みに行くので、<trk> しか入っていないファイルは、地図上の線がそっくり同じに見えても、そのツールが期待するようには動かないことがあります。逆のパターンもあります。数個の点しかない手作りのルートを、密なトラックを想定したツールで開くと、地図上は正しく見えても、ペースや標高のグラフを描くための時刻情報がそもそも入っていない、ということが起こります。
つまずきやすいところ
- <rte> がまったく入っていない GPX ファイル——多くの記録アプリはそもそもルートを書き出しません。記録された歩きは、定義からしてトラックだからです。
- どこかに取り込んだルートに、速度や標高のグラフが出てこない——そもそもファイルの中に、グラフを描くための時刻情報が入っていません。
- <rte> 要素しか読まないツールで、ファイルの中身が何も見つからないように見える——歩いた記録は別のタグ、トラックとして中に入っているだけです。
- 経路上に点だけが散らばっていて、線がつながっていない——トラックの取り込みに失敗して、ルートの地点に近い個々の点だけが渡ってきたときの症状です。
TrailCam の場合
TrailCam はハイキングや散歩、サイクリングを GPS のトラックとして記録します——実際に移動しながら記録された、タイムスタンプ付きの点の連なりです——そしてそれを GPX 1.1 または CSV として書き出します。これは GPX 形式のうち「トラック」側にあたり、Strava や Garmin Connect、Komoot をはじめ、歩き終えた記録を見返すために作られたほとんどのサービスが読みに行く形式です。書き出しは任意の TrailCam Pro に含まれる機能で、アプリ自体のダウンロードは無料です。
よくある質問
- GPX ファイルには必ずルートが入っていますか?
- いいえ。記録アプリが作る GPX ファイルの多くは、トラックだけを含み <rte> 要素をまったく持ちません。ルートは別に用意された、任意の構造であって、使わないファイルのほうが多いくらいです。
- 一つの GPX ファイルにトラックとルートを両方入れられますか?
- はい。GPX の仕様上、ウェイポイント・ルート・トラックは同じファイルの中に同時に存在できます。ただし多くのアプリは、自分がやっていることに合ったどちらか一方しか書き出しません。記録アプリはトラックを、計画用のアプリはルートを書き出します。
- ハイキングアプリが画面で「ルート」と呼んでいたら、ファイルにも <rte> 要素があるということですか?
- いいえ。それは技術的な意味ではなく、日常語としての「ルート」です。画面上の呼び方がどうであれ、ファイルの中身はほぼ間違いなく <trk> 要素として歩いた記録を保持しています。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。