GPX とポリライン、軌跡データはどちらがハイキングに向くか
エンコードされたポリラインは、GPX のような「ファイル」ではありません。地図 API が、座標のリストをそのまま送るコストをかけずにルートを地図上に描くために返す、圧縮された一続きの文字列です。GPX は、記録したトラックを 1 点ずつ、それぞれに時刻と標高を添えて記述するドキュメントです。この 2 つはそもそも別の仕事のために作られていて、ハイキングで起きたことを保持できるように作られているのは片方だけです。
ポリラインとは実際どういうものか
多くの人が目にするポリラインは、Google の Encoded Polyline Algorithm Format と呼ばれる方式で、ルートの形をレスポンスとして返す必要がある地図・経路検索系の API の多くが同じ仕組みを使っています。緯度と経度の組を並べたリストを受け取り、それぞれを小数第 5 位に丸め、直前の点との差分だけを保持し、その結果を base64 に似た文字セットで短い ASCII 文字列に詰め込みます。座標をそのまま並べれば数キロバイトになるようなルートが、数百文字程度のポリラインとして返ってくることもあります。
この文字列は、単体で開いたり読んだり残しておいたりするようには作られていません。JSON のレスポンスや URL のパラメータの中を移動し、地図を描いた側がもとの点のリストに復号し、地図が描画されたらそこで役目を終えて捨てられる——そういうものです。移動中の形であって、記録ではありません。
GPX が持っていてポリラインには入る余地がないもの
GPX のトラックポイントは位置に加えて時刻と標高を持ち、端末によっては GPS の精度のような追加情報が extensions ブロックに入ることもあります。こうしたものはポリラインにはまったく入る余地がありません。この形式は「線がどこを通るか」という一つの問いにだけ答えるように設計されているからです。ハイキングから時刻情報を取り除けば、どれだけ時間がかかったか、どこでのペースがどうだったか、どの区間が移動時間でどこが停止だったかを割り出す手立てがなくなります。標高を取り除けば、プロフィールも、上りも下りもなくなります。ポリラインが答えるのは「どこを通ったか」だけで、「いつ」や「どれだけ高かったか」については何も語りません。
精度も切り捨てられている
標準のポリラインのエンコードに組み込まれている小数第 5 位までの丸めも、それ自体が小さな、意図的な損失です。赤道上でおよそ 1 メートル程度の精度が犠牲になりますが、これはこの形式が想定しているレスポンスが、画面上に線を描くためのものであって、ルートを精密に測るためのものではないからこそ成り立つ取引です。この取引は、ポリラインが使われる場面では理にかなっています。ただし、目的が「ルートを見せる」ことから「ルートを測る」ことへと移った瞬間、その理屈は成り立たなくなります。それはまさに、ただの地図上の線だったものが、実際の距離や標高の数字がほしいハイキングへと変わる瞬間に起きる移行です。
並べて比べる
- 構造: GPX は完全なドキュメントで、点ごとに時刻と標高を持つ。ポリラインは時刻も標高も持たない、単一のエンコードされた文字列。
- 由来: GPX は 2002 年に公開された、GPS 機器のためのオープンな形式。エンコードされたポリライン形式は、Google が自社の Maps API のレスポンスに含まれるルートの形を小さく保つために公開した。
- 対応状況: GPX はトラックファイルを読むために作られたほぼすべての地図・GIS・GPS ツールで開ける。ポリラインは、その特定のエンコード方式に対応したデコーダーがなければ、そもそも使える形にならない。
- 向いている用途: 残しておきたい、測りたい、別のツールに取り込みたいハイキングには GPX。サーバーと地図の間でルートの形を一時的に受け渡すにはポリライン。
- 読みやすさ: GPX はプレーンな XML テキストで、目で読める。ポリラインは、正確ではあってもデコーダーを通さなければ意味を持たない、不透明な文字の並び。
相互変換
GPX のトラックをポリラインに変換するのは一方通行です。GPX ファイルから座標を読み取ってポリライン文字列にエンコードしてくれるライブラリやオンラインツールはいくつもありますが、GPX ファイルをハイキングの見返しに役立てていたもの——時刻、標高、点ごとの細かさ——は変換先の形式に置き場がなく、そのまま失われます。出てくるのは同じ形の線だけで、それ以上のものはありません。
逆方向は、単なる不可逆変換よりもさらに厳しくなります。失うべきものすら残っていないからです。ポリラインを座標に戻しても、もともと時刻や標高が一切保存されていないので、緯度と経度だけの素っ気ないリストが出てくるだけです。そこから GPX ファイルを組み立て直すというのは、失われたものを取り戻すのではなく、線に沿って架空の時刻を均等に割り振るといったやり方で、欠けている部分を作り出すことを意味します。出来上がるのは、記録のように見えて実際には記録ではないファイルです。
TrailCam が書き出す形式
TrailCam は記録したルートを GPX 1.1、または CSV のサマリーとして書き出します。どちらも、ハイキングを素っ気ない形だけに削ぎ落とすのではなく、すべての点に時刻と標高を保ったままにします。あとから見返したり、別のツールに取り込んだり、どこかの地図が一度描いただけの線ではなく実際の記録として残しておきたいハイキングにとって、そこが重要な違いになります。GPX と CSV の書き出しは任意の TrailCam Pro の機能で、アプリ自体は無料でダウンロードできます。
よくある質問
- ポリラインは GPX ファイルと同じものですか?
- いいえ。ポリラインは、ルートの形だけをエンコードした単一の圧縮文字列で、時刻も標高も、線がどこを通るか以外の情報も持ちません。GPX ファイルは、記録したすべての点に時刻と標高を持つ完全なドキュメントです。
- ポリラインからペースや標高の上りを取り出せますか?
- できません。そもそも探すべきものが存在しないからです。標準的なエンコードされたポリラインは、はじめから時刻や標高の値を一切持っていないので、そこからペースや移動時間、標高の上りを取り戻すことはできません。
- TrailCam はルートをポリラインとして書き出せますか?
- いいえ。TrailCam が書き出すのは GPX 1.1 か CSV のサマリーで、どちらもポリラインがそもそも持つように作られていない、点ごとの時刻と標高をそのまま保持します。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。