GeoPackage をシェープファイルに変換

このツールは、GeoPackage(.gpkg)のすべてのベクターレイヤーを .prj と .cpg 付きのシェープファイルに変換し、ArcGIS、QGIS、古い GIS ソフト用に1つの zip にまとめます。変換はブラウザー内で行われ、アップロードされません。ジオメトリタイプが混在するレイヤーは分割され、フィールド名は10文字に短縮され、ジオメトリのないテーブル、ラスタータイル、QGIS のスタイルは含まれません。

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

要点

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

GeoPackage は QGIS の標準形式で、複数のレイヤー、任意の座標系、長いフィールド名をプロジェクトごと1つのファイルに収められます。それでも、取引先や官公庁、古いソフトからは今もシェープファイルを求められることがよくあります。このツールはブラウザーで .gpkg を開き、すべてのベクターレイヤーを .shp、.shx、.dbf、.prj、.cpg からなるシェープファイルとして書き出し、1つの .zip にまとめます。ジオメトリタイプが混在するレイヤーは、タイプごとに別のシェープファイルに分けられます。変換後には、.dbf の10文字制限に合わせて短縮したフィールド名が一覧で表示されます。ジオメトリのないテーブルはスキップされます。変換を行うのは QGIS 自身も使っているライブラリ GDAL で、GeoPackage がお使いのパソコンから外に出ることはありません。

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

  1. .gpkg ファイルをボックスにドロップするか、クリックして選びます。
  2. レイヤーの一覧と地図を確認し、必要なら「出力の座標系」を指定します。
  3. 「シェープファイルに変換」をクリックし、すべてのシェープファイルが入った .zip をダウンロードします。

知っておきたいこと

レイヤーとジオメトリタイプごとに1セット

1つのシェープファイルには、1種類のジオメトリタイプを持つ1つのレイヤーしか入りません。そのため GeoPackage の各レイヤーは、roads_lines.shp のようにレイヤー名の付いた個別のシェープファイルになります。汎用の Geometry 型でラインとポリゴンが混在するレイヤーからは、paths_and_parks_lines.shp と paths_and_parks_polygons.shp のように2つできます。マルチパートのフィーチャーは、それぞれのタイプのほうに入ります。

フィールド名は10文字に短縮されます

GeoPackage では長いフィールド名を使えますが、シェープファイルの .dbf テーブルでは使えません。GDAL は名前を10文字に切り詰め、重複しないようにするため、year_completed は year_compl になります。変換後のメッセージに変更された名前がすべて表示されるので、受け取る人に伝えるか、先に QGIS でフィールド名を変えておいてください。

.dbf に入らない値

254 文字を超えるテキストは切り捨てられます。.dbf の日付には時刻がないため、日時のフィールドはテキストとして書き出されます。非常に大きな数値は、.dbf の固定幅の数値フィールドで精度が落ちることがあります。

座標系と文字コード

各レイヤーの座標系は .prj ファイルに書き出されるので、シェープファイルは ArcGIS や QGIS で同じ位置に表示されます。EPSG コードを入力して、変換と同時に座標系を変えることもできます。テキストは UTF-8 で書き出され、.cpg ファイルにそのことが記録されます。

変換されないもの

ジオメトリのない属性テーブル、空のレイヤー、ラスタータイル、GeoPackage 内に保存された QGIS のスタイルやプロジェクトは変換されません。スキップしたテーブルの名前はページに表示されます。シェープファイルの .shp と .dbf はそれぞれ 2 GB までなので、非常に大きなレイヤーは分割が必要になることがあります。

ファイル形式について

GeoPackage

GeoPackage は 2014 年に策定された、SQLite をベースにした OGC のオープン標準です。QGIS の標準形式で、 複数のレイヤー、任意の座標系、長いフィールド名を1つのファイルに収められます。

  • 1つのファイルに、複数のベクターレイヤーやテーブル、ラスタータイルを入れられます。
  • シェープファイルと違い、フィールド名に10文字の制限がありません。
  • 各レイヤーの座標系をファイル内に保存するため、別の .prj は不要です。
  • シェープファイルの .shp や .dbf と違い、レイヤーごとの 2 GB のサイズ制限がありません。

Shapefile

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

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

よくある質問

GeoPackage はアップロードされますか?

いいえ。ファイルを開いて変換するのはお使いのブラウザーで、サーバーには何も送信されません。

zip にはどのファイルが入っていますか?

レイヤーとジオメトリタイプごとに、同じ名前の .shp、.shx、.dbf、.prj、.cpg が入っています。各セットはまとめて保管してください。GIS ソフトには少なくとも最初の3つが必要です。

1つのレイヤーだけを変換できますか?

すべてのベクターレイヤーが変換されます。ダウンロードした zip を展開して必要なシェープファイルだけを残すか、先に QGIS でそのレイヤーだけを新しい GeoPackage に保存してください。

QGIS なしで GeoPackage を開けますか?

このページではレイヤーを地図に表示し、フィーチャー数とともに一覧にするので、GeoPackage の中身を確認するには十分です。編集するなら、GeoPackage を直接読める無料の QGIS をお使いください。