TrailCam

ガイド

GPX ファイルの extensions(拡張)要素とは?

extensions は、GPX ファイルの中に置ける任意のブロックで、1 つのトラックポイントや、ルート、あるいはファイル全体に添えられます。GPX の仕様そのものには項目が用意されていないけれど、特定の端末やアプリがどうしても残しておきたい情報を入れるための場所です。入れ物として存在することだけが決められていて、中に何を入れるかは書き出したソフト次第——だからこそ、そのファイルを作ったアプリを離れたとたん、GPX の他の部分とはまったく違う挙動を見せます。

結論から

GPX 1.1 では、トラックポイントが持てる項目があらかじめ公開された一覧として決められています。緯度・経度、標高、タイムスタンプ、それに名前や測位の種類といった少数の項目です。この一覧は意図的に閉じられています。多くの違うソフトの間でやり取りされる形式は、ある項目が何を意味するかについて、読む側みんなが同じ理解を持てないと成り立たないからです。extensions は、その仕様の中で唯一意図的に開けてある場所です。端末やアプリが、フォーマットの管理者に新しい正式な項目を追加してもらうのを待たずに、自分の判断で追加のデータを入れられるラベル付きの入れ物です。

決まった項目に入り切らないもの

トラックポイントの基本項目がカバーしているのは、どこにいたか、どれくらい高い場所か、いつのことか——ほぼすべての GPS 用途に必要な、GPX が最初の公開当初から持っている 3 つの情報です。これとは別に、1 つのポイントにもっと多くのものを結びつけて残したい端末やソフトは少なくありません。特定の端末に組み込まれたセンサーの値、そのアプリが 1 つの測位をほかと比べて判断するための内部的な品質フラグ、書き出した本人のプログラムにしか意味の通じない識別子。これらはどれも仕様に正式な置き場所を持ちません。仕様は一度固定されたもので、どこかのメーカーがもう 1 つ何かを記録したいと言うたびに項目を増やし続けるわけにはいかなかったからです。

実際に入っているもの

現実には、extensions の中身は書き出したソフトが「残す価値がある」と判断したものがそのまま入っています。気象観測に対応した屋外向け端末なら、1 つのポイントに周囲の測定値を添えるかもしれません。あるアプリは、自分の地図上で信頼度を色分けして表示するために使う内部的な精度コードをポイントに付けるかもしれません。ルートを再アップロードできるウェブサービスなら、後日同じファイルが送られてきたときにアカウントと突き合わせるための、そのサービス専用の参照番号を埋め込むこともあります。どれも GPX の正式な項目ではなく、それぞれ考案した側だけが持つ名前空間の中に収まって、フォーマット本体ではなくポイントに付け足される形になっています。

アプリをまたぐと持ち運びにくい理由

ここがつまずきやすいところです。GPX を読むソフトが理解する義務を負っているのは基本項目だけで、知らない名前空間で書かれた extensions の中身については、読み飛ばして構わないことになっています。これは受け取る側の不具合ではありません。知らない extensions をきちんと無視するのは、行儀のよい GPX リーダーが本来すべきことそのものです。そうすることで、どこか 1 社の独自の追加情報が、緯度・経度・標高・時刻というみんなが合意している部分を、まったく別のプログラムが読めなくしてしまう事態を防いでいます。実際に起きることは、extensions の中にあった数値が、それを書き出したアプリの中では何の問題もなく見えていたのに、同じファイルをどこか別の場所で開いた瞬間、ファイル自体はまったく壊れていないまま消えてしまう、というものです。

つまり extensions は、ツールをまたいで残しておきたい情報を置く場所としては向いていません。ある数値を Strava でも Garmin Connect でも Komoot でも表計算ソフトでも同じように見たいなら、その値はそれらすべてがすでに合意している項目に入れる必要があります。書き出した本人のアプリしか正しく開き直せる保証のない入れ物に頼るべきではありません。

TrailCam ではどうなっているか

TrailCam から書き出されるルートは、ふつうの GPX 1.1 ファイルです。位置・標高・時刻という、どのリーダーもすでに読み方を知っている項目でトラックポイントが構成されていて、TrailCam でしか正しく読み戻せない独自の extensions ブロックは付けていません。これは意図した選択です——ほかのアプリが理解できるかどうか分からない独自データを何も添えないことで、ファイルがどこに渡っても同じように振る舞います。GPX の書き出しは任意の TrailCam Pro に含まれる機能で、アプリ本体はダウンロード無料です。

よくある質問

GPX ファイルには必ず extensions が入っていますか?
いいえ、あくまで任意です。位置・標高・時刻だけで足りるふつうのトラック書き出しなら、そもそも入れる理由がありません。
GPX ファイルから extensions ブロックを削除しても大丈夫ですか?
トラック本体については問題ありません。位置・標高・時刻はそれぞれ別の項目として持たれているので、extensions ブロックを取り除いてもそちらには影響しません。失われるのは、そのブロックに入っていたアプリや端末独自のデータだけです。
あるアプリで見えていた数値が、別のアプリで同じファイルを開いたら消えていたのはなぜですか?
そのアプリ独自の名前空間で書かれた extensions の中に入っていた可能性が高いです。読む側は、意味の分からないデータを推測せずに読み飛ばしてよいことになっているので、extensions だけに保存されていたものは、ある場所では見えていても別の場所では消えて見える、ということが起こります。

自分のルートを記録する

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

App Store でダウンロード