GPX ファイルを 2 本の軌跡に分ける
1 本の GPX ファイルの中に、本来は 2 回の外出として扱ったほうがいい記録が混ざっていることがあります。午前の散策のあとにアプリを止め忘れて午後の用事までつながってしまった、複数日の縦走が 1 日ごとではなく長い 1 本のファイルとして残っている、あるいは往復の道を行きと帰りの 2 本として見たい——理由はいろいろです。GPX ファイルを分割するとは、点の並びのどこか 1 か所で切って、そこから先を別のファイルに書き出すことです。ここでは具体的な方法と、分割することで変わることと変わらないことを整理します。
先に結論
GPX の軌跡は、trk 要素の中に時刻付きで順番どおり並んだ点の列です。1 本を 2 本に分けるとは、途中の 1 点を選び、1 つ目のファイルの軌跡をそこで閉じ、その点から先のすべてを軌跡の先頭に持つ 2 つ目のファイルを新しく作ることです。座標や時刻そのものは変わらず、変わるのは何本のファイルに分かれているかだけです。短い記録ならテキストエディタで手作業でも十分ですが、長い記録は専用のツールに任せたほうが確実です。
なぜ 1 本のファイルを 2 本に分けたくなるのか
いちばん多い原因は、記録を止め忘れることです。午前の散策が終わったあともアプリが動き続け、昼食や用事を挟んで午後の別の外出まで同じファイルに続けて記録されてしまう——本来は無関係な 2 回の外出が、間に長い空白を挟んだまま 1 本の軌跡の中に同居することになります。
複数日の縦走は逆のパターンで起こります。毎晩止めて翌朝また記録するのではなく、数日間ぶっ通しで 1 本のファイルとして記録してしまい、それ自体は行動中は問題なくても、あとから 1 日ごとのファイルを期待するサービスや自分の記録整理には扱いにくくなります。往復の道を、行きと帰りの 2 本として見たいという単純な好みもあります。
どれもファイルが「間違っている」わけではありません。1 回の記録が、あとから 1 つの単位として扱うには広すぎる範囲——距離にせよ時間にせよ——をカバーしているというだけの話です。
実際に分割する方法
GPS データ用のツールを使う
GPX Studio のようなブラウザ上のツールなら、ファイルを読み込んで地図上に軌跡を表示し、切りたい点を選んで 2 つのファイルとして書き出せます。XML を直接触る必要はありません。GPSBabel は GPS データの変換や加工のために作られた無料のコマンドラインツールで、指定した点や時刻でファイルを分割する処理も 1 コマンドで行えます。QGIS でも同じことがきちんとした GIS 処理として行え、分割が一度きりでなく繰り返し必要な作業になったときに向いています。
小さいファイルなら手作業で
GPX はただのテキストなので、短いファイルならテキストエディタだけで分割できます。切りたい軌跡点を見つけ、その点から先をすべて 1 つ目のファイルから取り除いて、2 つ目のファイルに貼り付けます。2 つ目のファイルには、XML 宣言や gpx タグとその属性、そして残りの点を収める新しい trk と trkseg を、1 つ目と同じ構造で用意する必要があります。どちらのファイルにも、開始と終了それぞれきちんとしたタグが要ります。点の切れ目ではなく XML の途中を単純に真っ二つにしてしまうと、どちらのファイルも開けなくなります。
どこで切るか
切る場所として一番いいのは、点数で機械的に半分にした場所ではなく、実際に立ち止まっていた場所です。もしファイルの中にすでに時刻の空白——2 つの行動の間の休止や、記録が中断されたことによるセグメントの切れ目——があれば、そこが自然な分割点になります。どちらのファイルにも、本来関係のない滞在時間が端にくっついたまま残る、ということが起きないからです。動いている最中のど真ん中で切ることもできなくはありませんが、その場合はどちらの半分も、本来はもう半分と合わせて初めて意味を持つ距離や時間の一部を欠いたまま残ります。
分割で直ること、直らないこと
分割が解決するのは「1 本の記録に 2 回分の外出が入っている」という問題です。アップロード先のサービスは、無関係な用事が山行に紛れ込んだ 1 つの数字や、往復の行きと帰りが混ざった 1 つの数字ではなく、それぞれ独立した距離・時間・標高プロフィールとして受け取れるようになります。
分割はそれぞれの中身をさかのぼって直すわけではありません。標高データのノイズも、樹林の下でふらついた線も、立ち止まっている間の GPS の跳ねも、点そのものはそのまま、2 本のファイルに分かれて残るだけです。分割が変えるのはデータが何本のファイルに収まっているかであって、データの中身の質ではありません。
コピーで作業し、元のファイルは残す
手元に 1 つしかないファイルを直接編集するのではなく、複製を作ってから分割してください。タグを閉じる場所を間違えた、2 つ目のファイルにヘッダーを不完全にしか写せなかった、といった失敗をしても、手を加えていない元のファイルからやり直せます。
TrailCam でできること
TrailCam は開始と停止のたびに、それぞれの記録を履歴の中の独立した 1 件として残します。別々の外出が 1 本のファイルにつながっていくということがそもそも起きにくいので、あとから分割したくなる場面の多くは最初から発生しません。書き出しは 1 本のルート単位でも履歴全体まとめてでも可能で、形式は GPX 1.1 または CSV のサマリーです。書き出しは任意の TrailCam Pro の機能で、アプリ自体はダウンロード無料です。
よくある質問
- GPX ファイルを分割すると、元のデータが失われませんか?
- すべての点がどちらかのファイルに収まっている限り、失われません。分割はどの点をどちらのファイルに入れるかを決めるだけで、座標や標高、時刻そのものは変わりません。
- 何もインストールせずに GPX ファイルを分割できますか?
- 短いファイルであればできます。中身はただのプレーンテキストの XML なので、標準のテキストエディタで足ります。点が数千に及ぶ長いファイルは、ブラウザで使える GPX Studio のような GPS データ専用のツールを使うほうが、手作業よりずっと失敗しにくくなります。
- 分割した 2 本のファイルには、それぞれ名前を付ける必要がありますか?
- ファイル内の name にもそれぞれ名前を入れ、ファイル名も分かりやすいものにしておく価値はあります。アップロード先のサービスで、2 つの記録が元のファイルと同じ名前で並んでしまうのを避けられます。どちらの名前も、座標そのものには影響しません。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。