TrailCam

ガイド

GPX ファイルを KML に変換する方法

GPX と KML は遠目には似て見えます。どちらも XML で、どちらも地図上の座標を扱うからです。ですが生まれた背景がまったく違い、片方のファイルがそのままもう片方として読めるわけではありません。実際にいつ変換が必要になるのか、どうやるのか、そして変換の過程で何が失われるのかを見ていきます。

まず結論

一番早いのは GPS Visualizer や gpx2kml のような無料のオンライン変換サービスです。GPX をアップロードすれば KML が返ってきます。自分のルートを他人のサーバーにアップロードしたくないなら、GPSBabel が同じ変換を手元のパソコンだけで行えますし、QGIS なら GPX をレイヤーとして開いて、数クリックで KML として書き出せます。

変換する前に、そもそも本当に必要かを確かめる価値があります。Google Earth Pro は GPX ファイルをそのまま直接開けるので、変換は不要です。実際に KML が必須なのは Google マイマップ——共有できるオリジナル地図を作る Web アプリ——のほうで、これは KML・KMZ・GeoJSON や座標入りの表計算ファイルは受け付けますが、GPX は受け付けません。

なぜ 2 つの形式が別々に存在するのか

GPX は GPS 機器のために作られた

GPX(GPS Exchange Format)は、GPS 受信機や腕時計、スマートフォンが、トラック・ルート・ウェイポイントをどんな機種のどんなソフトにも渡せるように設計された、最小公倍数のような形式です。座標・標高・タイムスタンプ・名前といった情報にわざと絞られていて、画面上でどう見せるかという情報は一切持ちません。

KML は Google Earth のために作られた

KML(Keyhole Markup Language)は、Google が Earth を作るために買収した会社にちなんで名づけられた形式で、場所だけでなく「どう見せるか」まで記述します。アイコンの見た目、プレースマークの色、カメラの視点、フォルダ分けされたレイヤー構成などです。Google Earth やマイマップより先に KML を要求されることが多いのは、これが Google の地図ツール群のネイティブ言語だからです。

変換で残るもの、失われるもの

GPX のトラックは KML の LineString に変換しても、線の形そのものは十分きれいに残ります。歩いた道の輪郭は、どちらの形式で見ても同じに見えるはずです。ただし変換後に確認しておきたい点が 2 つあります。

  • ポイントごとのタイムスタンプ:素の KML の LineString には、1 点ごとの時刻を入れる項目がありません。単純な変換だと、タイムスタンプ付きのトラックが時刻情報のない静的な線に平坦化されてしまうことがあります。変換ツールによっては gx:Track という拡張を使ってポイントごとの時刻を保持するものもあるので、再生速度が気になる場合は出力ファイルに gx:Track というタグがあるか確認する価値があります。
  • 標高:両方の形式とも 1 点ごとの高度を数値で持てるので、たいていの変換ツールは標高もそのまま引き継ぎます。とはいえ、思い込みで済ませずに変換後の数点を見比べておくと安心です。
  • ウェイポイントとトラック上の点は、それぞれ KML の独立したプレースマークと線の頂点になります。これは GPX 自体にある区別がそのまま形を変えて残っているだけです。

これは変換が信頼できないという意味ではなく、変換先の形式が必要としない情報まで律儀に運ぶ義務はない、という話です。何が実際に起きたかの記録としては元の GPX を残しておき、変換した KML は特定の行き先のために作った提示用のコピーだと考えるのがよいでしょう。

どんな場面で実際に変換するのか

実務上、変換が必要になる場面はほぼ Google マイマップに限られます。GPS アプリを使っていない相手にルートを共有したいとき、Web サイトに地図を埋め込みたいとき、複数のルートを独自のピンや色でレイヤー分けしてまとめたいときです。マイマップは KML を問題なく読み込み、GPX には元々備わっていないスタイル設定の自由度を与えてくれます。

一方、行き先が Google 系のツールではなく、Strava、Garmin Connect、Komoot、Gaia GPS、CalTopo のような地図・記録サービスであれば、GPX のまま渡すのが正解です。どれも GPX をネイティブに読めますし、わざわざ KML に変換して戻すと手間が増えるだけでなく、ペースや移動時間の計算に必要なタイムスタンプを落としてしまう可能性もあります。

TrailCam が書き出す形式

TrailCam は GPS でルートを記録し、1 本のルートも履歴全体も GPX 1.1、あるいは CSV のサマリーとして書き出せます。KML が必要な行き先があるときに変換するのは、この GPX ファイルです。同時に、どの地図・記録サービスも変換なしにそのまま読める形式でもあるので、恒久的な保存用としてもこの GPX を残しておくのが向いています。ダウンロードは無料です。

よくある質問

Google Earth に読み込むのに KML は必須ですか?
必須ではありません。Google Earth Pro は GPX ファイルをそのまま直接開けます。KML への変換が必要になるのは、Google マイマップのように KML を明示的に要求するツールを使う場合だけです。
GPX を KML に変換すると、タイムスタンプは残りますか?
常に残るとは限りません。素の KML の LineString に変換すると、1 点ごとの時刻情報が落ちることが一般的です。gx:Track という拡張を使う変換ツールならタイムスタンプが残るので、再生タイミングが重要なら出力ファイルを確認してください。
KML ファイルを GPX に変換し直すこともできますか?
できます。同じツールでたいてい双方向に変換できます。ただし逆方向でも同じ注意点があり、プレースマークの見た目の設定など KML 固有の情報は GPX に対応する項目がないため引き継がれません。

自分のルートを記録する

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

App Store でダウンロード