シェープファイル(SHP)を GPX に変換

シェープファイルを GPS デバイスやアウトドアアプリ用の GPX 1.1 に無料で変換し、ポイントをウェイポイント、ラインをトラック、ポリゴンを外周のトラックにします。変換はブラウザー内で行われ、アップロードされません。.prj の座標系から WGS84 に座標変換し、名前に使う列を選べます。ほかの列は多くのデバイスが無視する GPX の拡張データとして残ります。

うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。

要点

シェープファイルを GPX に変換する理由

登山道、調査地点、計画したルート、圃場の境界などは、QGIS や ArcGIS でシェープファイルとして作図・書き出しされることがよくありますが、Garmin のハンディ GPS、サイクルコンピューター、OsmAnd、Locus Map、Gaia GPS、Komoot などのアプリが読み込むのは GPX です。このページは、QGIS の土台でもあるオープンソースのライブラリ GDAL を使って、シェープファイルから GPX ファイルをブラウザー内で直接書き出します。.prj を読み取るので、UTM ゾーンや国の平面座標系のシェープファイルも、すべての GPS が使う緯度・経度で出力され、PointZ や PolylineZ のシェープファイルの高さも残ります。各ウェイポイントやトラックの名前としてデバイスに表示させる属性を選べ、ダウンロードの前に、書き出される内容を地図のプレビューで確認できます。

シェープファイルを GPX に変換する方法

  1. .shp を .shx、.dbf、.prj と一緒に、またはそれらを含む .zip をボックスにドロップします。
  2. 地図を確認し、ウェイポイントとトラックの名前に使う列を選びます。
  3. 「GPX に変換」をクリックし、ファイルをデバイスにコピーするか、アプリにインポートします。

変換で変わること

名前に使う列を選ぶ

GPX ではウェイポイントやトラックごとに名前は1つだけですが、シェープファイルはいくつでも列を持てます。NAME または name という列があれば自動で使われます。ない場合は、名前に title または label を含む列、それもなければ最初のテキストの列を選び、どれを使ったかを表示します。別の列を選んだ場合、元の name という列は name_orig として残ります。DESC または DESCRIPTIO という列は GPX の説明文になります。

ポイント、ライン、ポリゴン

ポイントのシェープファイルはウェイポイントに、ラインのシェープファイルはトラックになります。複数のパートを持つライン(マルチパートのポリライン)は複数のセグメントを持つ1つのトラックに、マルチポイントは各ポイントがそれぞれ別のウェイポイントになります。GPX には面がないため、ポリゴンは外周に沿った閉じたトラックになり、リングごとに1つのセグメントができます。まとめて選んだ複数のシェープファイルは、1つの GPX ファイルに書き出されます。

データの位置は .prj で決まる

GPX は常に WGS84 の緯度・経度を使うため、シェープファイルは .prj の座標系から座標変換されます。.prj がないと、メートル単位の座標の位置を特定できません。その場合、ページは処理を止めて当てはまりそうな座標系を提案します。EPSG コードを入力することもできます。たとえば UTM ゾーン 32N なら 25832、JGD2011 の平面直角座標系 第IX系なら 6677 です。

ほかの列は拡張データになる

LENGTH_KM や SURFACE のように、対応する GPX 要素がない列は extensions ブロックの中に書き出されます。QGIS や GDAL ではフィールドとして読み戻せますが、GPS デバイスや多くのアプリが表示するのは名前と説明文だけです。QGIS や ArcGIS のプロジェクトの色や記号はシェープファイルに保存されていないため、引き継ぐことはできません。

高さと大きなファイル

PointZ や PolylineZ のシェープファイルの Z 値は、各ポイントの標高になります。2D のシェープファイルや、高さがすべて 0 のシェープファイルには標高を入れず、アプリが独自の標高データを使えるようにします。古い GPS デバイスの中には、1トラックあたりのポイント数(多くは 10,000)や1ファイルあたりのウェイポイント数に上限があるものがあります。デバイスで線が途中で切れる場合は、先に QGIS で長いラインを単純化してください。

ファイル形式について

Shapefile

Esri シェープファイルは、GIS で最も広く使われているベクター形式です。「シェープファイル」は実際には同じ名前のファイルの集まりで、 .shp にジオメトリ、.shx にインデックス、.dbf に属性テーブルが入り、任意の .prj に座標系、.cpg に文字コードが入ります。

  • 少なくとも .shp、.shx、.dbf が必要です。まとめて選択するか、1つの .zip にしてください。
  • フィールド名は10文字まで、テキスト値は254文字までです。
  • 1つのシェープファイルに入れられるジオメトリタイプは1種類だけです(ポイント、ライン、ポリゴンのいずれか)。
  • .prj ファイルがないと、座標系が不明になります。

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 のルートは、デバイスが独自のルート探索でつなぐ少数の曲がり角の地点のリストなので、作図した道はトラックのままにしておくほうが適しています。

GPX を Komoot や Strava にインポートできますか?

Komoot は GPX のトラックを計画したツアーとして取り込みます。Strava は GPX をルートとしては受け付けますが、アクティビティとして受け付けるのはすべてのポイントに時刻がある場合だけで、シェープファイルには時刻がありません。

シェープファイルはアップロードされますか?

いいえ。GDAL はお使いのブラウザー内で動き、GPX はお使いのコンピューター上で書き出されます。サーバーには何も送られません。

GPX をシェープファイルに戻せますか?

はい、GPX をシェープファイルに変換するツールで戻せます。その場合、ウェイポイント、ルート、トラックはそれぞれ別のシェープファイルになります。