eyecatch

GeoPackageでデータを管理しよう!新規作成と変換方法の紹介

投稿日: 最終更新日:
この記事はQGIS 3.34を使用しています。

この記事でわかること


  • GeoPackage形式の特徴と使い方
  • 新規のGeoPackageを作成する方法
  • 既存データをGeoPackageに変換する手順

こんな人におすすめ


  • QGISで効率的にデータ管理をしたい方
  • 複数レイヤを1つのファイルにまとめて扱いたい方

はじめに

GeoPackageとはベクタデータのファイル形式の1つです。QGISでは、3系のバージョンよりGeoPackageがデフォルトのファイル形式となっています。GeoPackageは、複数のレイヤを1つのファイルにまとめて保存できたり、大容量のデータに対応しているなど、Shapefileの欠点を解消した新しいデータ形式です。

この記事では、QGISにおけるGeoPackageの使い方や利便性について解説します。

GeoPackageとは

「GeoPackage(GPKG)」とは、地理空間データを保存するためのデータ形式の1つで、データベース管理システムのSQLiteをベースとしています。これは、OGC(Open Geospatial Consortium)が策定した標準規格のデータ形式であり、GISや地理データの取り扱いに特化した多機能なフォーマットです。

OGCにより運営されているGeoPacakage公式サイトでは、最新情報やガイダンス、よくある質問等がまとめられています。

GeoPacakage公式サイト
出典:GeoPacakage公式サイト

GeoPackageの主な利点には、以下の点が挙げられます。

複数のレイヤを1つのファイルにまとめる
GeoPackageは、ベクタデータやラスタデータを1つのファイルにまとめて格納できます。そのため、プロジェクトのデータを整理しやすく、複数ファイルを管理する手間を減らすことができます。

また、QGISで設定したレイヤのスタイル情報(シンボル、ラベルなど)をGeoPackageに保存することができ、他のユーザーや環境にデータを共有する際に、統一した見た目を維持できます。

大容量データに対応
GeoPackageは、他のファイルフォーマットに比べて大容量の地理データにも対応しています。数ギガバイト規模のデータも格納可能で、大規模なプロジェクトでも使用しやすいです。

互換性の高さ
GeoPackageはOGC標準に準拠しているため、QGISを含む多くのGISソフトウェアで互換性があり、異なるシステム間でのデータ交換が容易です。

GeoPackageを使用してレイヤを作成する方法

ここでは、GeoPackage形式の新規レイヤを作成する手順について紹介します。

GeoPackageファイルの作成

メニューバーより、[レイヤ]→[レイヤを作成]→「新規GeoPackageレイヤ]を選択します。

[新規GeoPackageレイヤ]を選択する
[新規GeoPackageレイヤ]を選択する

「新規GeoPackageレイヤ」という画面が表示されます。画面の上部では、保存先やジオメトリタイプなど基本的な項目を設定します。ここでは、データベースとテーブル名の項目が分かれていますが、GeoPackegeは複数のレイヤが格納できるファイル形式であるため、データベースがフォルダ名、テーブル名がレイヤ名として考えるとよいでしょう

ここでは、「data.gpkg」という名称のGeoPackageファイルを作成し、その中に「point」という名称のポイントレイヤを作成してみます。レイヤの座標系については、ここでは緯度経度の座標系である[WGS84:EPSG4326]を選択します。

  1. [•••]をクリックして、GeoPackageレイヤの保存先とファイル名を指定します。
  2. テーブル名を入力します。ファイル名として入力した名前が自動で入力されますが、レイヤ名として適切な名前を入力しましょう。
  3. ジオメトリタイプを選択します。ここでは、[ポイント]を選択しました。
  4. レイヤの座標系を選択します。[地球儀]ボタンをクリックすることで、対象の座標系を選択します。
GeoPackageの保存先やジオメトリタイプなど基本的な項目を設定する
GeoPackageの保存先やジオメトリタイプなど基本的な項目を設定する

なお、今回はポイントレイヤを作成しましたが、ラインレイヤを作成したいときは[ラインストリング]、ポリゴンレイヤを作成したいときは、[ポリゴン(Polygon)]を選択しましょう

ジオメトリ型の選択画面
ジオメトリ型の選択画面

続いて、「新規フィールド]から、属性データの設定をします。後から属性を追加したりすることも可能ですが、必要な属性が確定しているのであれば、このタイミングで設定しておくとよいでしょう。ここでは、nameというテキスト形式の属性を追加します。

  1. フィールド名を入力します。
  2. データ型として適切なものを選択します。
  3. [属性リストに追加]をクリックします。
  4. [属性リスト]に上記で設定した内容で属性が追加されます。
GeoPackageの属性を設定する
GeoPackageの属性を設定する

すべての設定が完了したら、[OK]をクリックしましょう。

設定が完了したら[OK]をクリック
設定が完了したら[OK]をクリック

指定した場所にGeoPackageファイルが作成されました。

指定した場所にGeoPackageファイルが作成された
指定した場所にGeoPackageファイルが作成された

また、QGISにもレイヤが追加されていることが確認できます。

QGISに作成したGeoPackageレイヤが追加された
QGISに作成したGeoPackageレイヤが追加された

なお、ここでは空の「point」という名称のレイヤを作成したという状態のため、属性テーブルを確認してもまだ1つの地物も存在していないことが確認できます。

空のレイヤを作成した状態なので、1つの地物も存在していない
空のレイヤを作成した状態なので、1つの地物も存在していない

地物の作成

地物の作成については別の記事で詳しく説明するため、ここではポイントレイヤを追加する手順について簡単に説明します。

  1. レイヤパネルより、地物を作成したいレイヤを選択します。
  2. [編集モード切り替え]ボタンをクリックします。
  3. [点地物を追加]ボタンをクリックします。
地物の作成手順
地物の作成手順

上記の手順を踏むことで、マップキャンバス上のカーソルが十字アイコンに切り替わります。この状態でクリックすることで、ポイントレイヤを作成することができます。

  1. 地物を作成したい場所でクリックします。
  2. 属性値を入力する画面が表示されるため、適宜入力して[OK]ボタンをクリックします。
  3. ポイントレイヤが作成されました。
地物を作成したい場所でクリックし、属性を入力することで地物が作成される
地物を作成したい場所でクリックし、属性を入力することで地物が作成される

編集が完了したら、[レイヤ編集内容を保存]ボタンをクリックして編集を確定させましょう。

「レイヤ編集内容を保存」をクリックして編集を確定させる
「レイヤ編集内容を保存」をクリックして編集を確定させる

既存のベクタデータをGeoPackageに変換する

QGISに追加しているShapefile形式などのベクタレイヤを簡単にGeoPackageに変換することが可能です

エクスポート機能から変換する方法

通常、データ形式を変換する場合は、エクスポート機能を使用して行います。

レイヤパネルより、GeoPackageに変換したいレイヤを右クリックして、[エクスポート]→[地物を保存]の順にクリックします。

「エクスポート」→「地物を保存」の順にクリック
「エクスポート」→「地物を保存」の順にクリック

「名前を付けてベクタレイヤを保存」という画面が表示されます。今回は、「世界地図」のベクタレイヤを上記で作成した「data.gpkg」に追加したいと思います。

  1. 形式では[GeoPackage]を選択します。
  2. ファイル名の右の[•••]をクリックして、GeoPackageの保存先とファイル名を指定します。ここでは既存のGeoPackageレイヤを選択していますが、新規作成することも可能です
  3. レイヤ名を入力します。
  4. [OK]ボタンをクリックします。
「名前を付けてベクタレイヤを保存」の画面で、変換の設定をする
「名前を付けてベクタレイヤを保存」の画面で、変換の設定をする

QGISに変換したレイヤ「data_世界地図」が追加されるので、適切に変換できているか確認してみましょう。レイヤパネルから対象のレイヤを右クリックして、レイヤのプロパティを開き、[情報]タブをクリックします。

ソースを確認してみると、「data.gpkg」にレイヤが追加されていることを確認できました。

レイヤプロパティから、GeoPackageに変換されたことが確認できる
レイヤプロパティから、GeoPackageに変換されたことが確認できる

ブラウザパネルから変換する方法

続いて、ブラウザパネルから変換する方法について紹介します。ブラウザパネルから変換するには、まずはブラウザパネルで既存のGeoPackageに接続する必要があります

ブラウザパネルから、[GeoPackage]を右クリックして、[新規接続]をクリックします。

「GeoPackage」を右クリックして「新規接続」をクリック
「GeoPackage」を右クリックして「新規接続」をクリック

「GeoPackageを開く」という画面が表示されるため、既存のGeoPackageを選択し[開く]をクリックします。

既存のGeoPackageを選択し[開く]をクリック
既存のGeoPackageを選択し[開く]をクリック

ブラウザパネルを確認してみると、「GeoPackage」の中に「data.gpkg」が追加されたことが確認できます。さらに、「data.gpkg」を開くと、このGeoPackageに格納されているレイヤも確認することができます。

data.gpkgが追加されたことが確認できる
data.gpkgが追加されたことが確認できる

ここまで設定ができたら、GeoPackageへの変換は簡単です。レイヤパネルより変換したいレイヤをブラウザパネル内の「data.gpkg」へドラッグ&ドロップしましょう。

「data.gpkg」に世界地図レイヤが追加されました。

ブラウザパネルのGeoPackageレイヤへドラッグ&ドロップすることで変換が可能
ブラウザパネルのGeoPackageレイヤへドラッグ&ドロップすることで変換が可能

変換したGeoPackageレイヤをQGISに追加するには、対象のレイヤを右クリックして[レイヤをプロジェクトに追加]をクリックするか、対象のレイヤをマップキャンバスへドラッグ&ドロップすることで追加することが可能です。

[レイヤをプロジェクトに追加]をクリックしてレイヤを追加できる
[レイヤをプロジェクトに追加]をクリックしてレイヤを追加できる

おわりに

GeoPackageは、QGISにおけるデータ管理と共有に非常に便利な形式です。複数のレイヤを1つのファイルにまとめられることや大容量のデータを扱えるなど、Shapefileに比べて多くの利便性があります。GeoPackageを活用して、QGISでの作業をさらに快適に進めてみましょう。

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置と情報で世界を変える」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事