GeoJSON を GPX に変換
GeoJSON を GPS デバイスやアウトドアアプリ用の GPX 1.1 に変換し、ポイントをウェイポイント、ラインをトラック、ポリゴンを外周のトラックにします。変換はブラウザー内で行われ、アップロードされません。名前に使うプロパティは選べます。ほかのプロパティは多くのデバイスが無視する GPX の拡張データになり、線の色などのスタイルは失われます。
うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。
要点
- 入力: GeoJSON (.geojson)。出力: GPX (.gpx)。
- ファイルはアップロードされません。処理はお使いのブラウザー内、ご自身の端末で行われます。
- ファイルサイズ: 固定の上限はありません。非常に大きなファイルは端末のメモリーによって制限されます。
- 最新のブラウザー(Chrome、Edge、Firefox、Safari)が必要です。パソコン、タブレット、スマートフォンで使え、インストールは不要です。
- 無料、登録不要です。
ファイルを変換するのではなく、新しくポイント・ライン・ポリゴンを描きたい場合は、姉妹サイト GeoDrafter の地図上で描いて KML・GeoJSON・GPX に書き出すツール(英語)をご利用ください。
GeoJSON を GPX に変換する理由
GeoJSON は、ウェブ地図、geojson.io、overpass turbo、多くの GIS スクリプトが出力する形式ですが、Garmin のハンディ GPS、OsmAnd、Locus Map、Gaia GPS などの GPS デバイスやアウトドアアプリが読み込むのは GPX です。このページは、QGIS の土台でもあるオープンソースのライブラリ GDAL を使って、GeoJSON から GPX 1.1 ファイルをブラウザー内で直接書き出します。ポイントのフィーチャーはウェイポイントに、LineString はそれに沿って進めるトラックになり、座標に3番目の値があれば高さも残ります。GeoJSON には決まった名前のフィールドがないため、デバイスに名前として表示させるプロパティを title や label などから選べます。ダウンロードの前に、書き出される内容を地図のプレビューで確認できます。
GeoJSON を GPX に変換する方法
- .geojson または .json ファイルをボックスにドロップするか、クリックして選択します。
- 地図を確認し、ウェイポイントとトラックの名前に使うプロパティを選びます。
- 「GPX に変換」をクリックし、ファイルをデバイスにコピーするか、アプリにインポートします。
変換で変わること
名前に使うプロパティを選ぶ
GPX ではウェイポイントやトラックごとに名前は1つだけですが、GeoJSON のフィーチャーはどんなプロパティでも持てます。name というプロパティがあれば自動で使われます。ない場合は、名前に title または label を含むプロパティ、それもなければ最初のテキストのプロパティを選び、どれを使ったかを表示します。別のプロパティを選んだ場合、元の name プロパティは name_orig として残ります。description というプロパティは GPX の desc になり、time と ele は同じ名前の GPX 要素に書き出されます。
ほかのプロパティは拡張データになる
length_km や surface のように、対応する GPX 要素がないプロパティは extensions ブロックの中に書き出されます。GDAL や QGIS ではフィールドとして読み戻せますが、ほとんどの GPS デバイスやアプリは無視します。入れ子のオブジェクトやリストは JSON テキストとして書き出されます。
ポリゴンとマルチパートのフィーチャー
GPX には面がないため、ポリゴンは外周に沿った閉じたトラックになり、リングごとに1つのセグメントができます。MultiLineString は複数のセグメントを持つ1つのトラックに、MultiPoint は各ポイントがそれぞれ別のウェイポイントになります。ジオメトリのないフィーチャーや GeometryCollection は GPX に書き出せないため、除外されます。
スタイル、ポイントごとの時刻と心拍数
GPX には色も線の太さもないため、stroke や marker-color などの simplestyle のプロパティは拡張データとして残るだけです。フィーチャーの time プロパティはウェイポイントの時刻になります。togeojson や Strava、Garmin の多くの書き出しに含まれる、ラインの各ポイントの値のリスト(coordTimes と heartRates、または times、heart、cadences、power、temperatures を持つ coordinateProperties)は、トラックポイントに書き込まれます。時刻は各ポイントの時刻に、心拍数・ケイデンス・気温は Strava などのトレーニングアプリが読む Garmin の TrackPointExtension に、パワーは power になります。長さがポイント数と合わないリストは書き込まれません。
座標と高さ
GPX は常に WGS84 の緯度・経度を使います。標準的な GeoJSON はもともと WGS84 です。crs メンバーで別の座標系を宣言している古いファイルは座標変換されます。3番目の座標は標高になりますが、ファイル内の高さがすべて 0 の場合は GPX に標高を入れず、アプリが独自の標高データを使えるようにします。
ファイル形式について
GeoJSON
GeoJSON は地理的なフィーチャーを表すプレーンテキストの JSON 形式で、2016 年に RFC 7946 として標準化されました。 Leaflet、MapLibre、Mapbox などのウェブ地図や、多くの API が標準で使う形式です。
- 座標は WGS84 の経度、緯度の順です。
- ポイント、ライン、ポリゴンを1つのファイルに混在させることができます。
- プロパティには任意の JSON 値を使え、フィールド名の長さに制限はありません。
GPX
GPX(GPS Exchange Format)は、Garmin、Strava、Komoot などの GPS 機器やアプリが使う XML 形式です。 ウェイポイント、ルート、トラックを、時刻や標高とともに保存できます。現在使われているのは、2004 年に TopoGrafix が公開したバージョン 1.1 です。
- ウェイポイントは単独の地点、ルートはいくつかの地点を通る計画された線、トラックは記録された経路で、数千のポイントからなることもあります。
- トラックには、ポイントごとに時刻と標高を持たせることができます。
- 座標は常に WGS84 の緯度・経度です。
- GPX のフィールドは名前、説明、シンボル、タイプなど決まったものだけで、それ以外は拡張に入れる必要があります。
よくある質問
GPX を Garmin に入れるには?
eTrex や GPSMAP などのハンディ GPS は、USB 接続で Garmin/GPX フォルダーにコピーした GPX ファイルを読み込みます。ウォッチやサイクルコンピューターの場合は、Garmin Connect でファイルをコースとしてインポートし、そこからデバイスに送ってください。
GPX を Komoot や Strava にインポートできますか?
Komoot は GPX のトラックを計画したツアーとして取り込みます。Strava は GPX をルートとしては受け付けますが、アクティビティとして受け付けるのはすべてのポイントに時刻がある場合だけです。地図上で描いた GeoJSON には、ふつう時刻がありません。
ウェイポイントの名前は残りますか?
はい。選んだプロパティが名前になります。古い GPS デバイスの中には、長い名前の最初の数文字しか表示しないものがあります。
GeoJSON はアップロードされますか?
いいえ。GDAL はお使いのブラウザー内で動き、GPX はお使いのコンピューター上で書き出されます。サーバーには何も送られません。
GPX を GeoJSON に戻せますか?
はい、GPX を GeoJSON に変換するツールで戻せます。その場合、ウェイポイント、トラック、ルートはそれぞれ別のレイヤーになります。