GeoPackageでデータを管理しよう!新規作成と変換方法の紹介
この記事でわかること
- 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公式サイトでは、最新情報やガイダンス、よくある質問等がまとめられています。
GeoPackageの主な利点には、以下の点が挙げられます。
複数のレイヤを1つのファイルにまとめる
GeoPackageは、ベクタデータやラスタデータを1つのファイルにまとめて格納できます。そのため、プロジェクトのデータを整理しやすく、複数ファイルを管理する手間を減らすことができます。
また、QGISで設定したレイヤのスタイル情報(シンボル、ラベルなど)をGeoPackageに保存することができ、他のユーザーや環境にデータを共有する際に、統一した見た目を維持できます。
大容量データに対応
GeoPackageは、他のファイルフォーマットに比べて大容量の地理データにも対応しています。数ギガバイト規模のデータも格納可能で、大規模なプロジェクトでも使用しやすいです。
互換性の高さ
GeoPackageはOGC標準に準拠しているため、QGISを含む多くのGISソフトウェアで互換性があり、異なるシステム間でのデータ交換が容易です。
GeoPackageを使用してレイヤを作成する方法
ここでは、GeoPackage形式の新規レイヤを作成する手順について紹介します。
GeoPackageファイルの作成
メニューバーより、[レイヤ]→[レイヤを作成]→「新規GeoPackageレイヤ]を選択します。
「新規GeoPackageレイヤ」という画面が表示されます。画面の上部では、保存先やジオメトリタイプなど基本的な項目を設定します。ここでは、データベースとテーブル名の項目が分かれていますが、GeoPackegeは複数のレイヤが格納できるファイル形式であるため、データベースがフォルダ名、テーブル名がレイヤ名として考えるとよいでしょう。
ここでは、「data.gpkg」という名称のGeoPackageファイルを作成し、その中に「point」という名称のポイントレイヤを作成してみます。レイヤの座標系については、ここでは緯度経度の座標系である[WGS84:EPSG4326]を選択します。
- [•••]をクリックして、GeoPackageレイヤの保存先とファイル名を指定します。
- テーブル名を入力します。ファイル名として入力した名前が自動で入力されますが、レイヤ名として適切な名前を入力しましょう。
- ジオメトリタイプを選択します。ここでは、[ポイント]を選択しました。
- レイヤの座標系を選択します。[地球儀]ボタンをクリックすることで、対象の座標系を選択します。
なお、今回はポイントレイヤを作成しましたが、ラインレイヤを作成したいときは[ラインストリング]、ポリゴンレイヤを作成したいときは、[ポリゴン(Polygon)]を選択しましょう。
続いて、「新規フィールド]から、属性データの設定をします。後から属性を追加したりすることも可能ですが、必要な属性が確定しているのであれば、このタイミングで設定しておくとよいでしょう。ここでは、name
というテキスト形式の属性を追加します。
- フィールド名を入力します。
- データ型として適切なものを選択します。
- [属性リストに追加]をクリックします。
- [属性リスト]に上記で設定した内容で属性が追加されます。
すべての設定が完了したら、[OK]をクリックしましょう。
指定した場所にGeoPackageファイルが作成されました。
また、QGISにもレイヤが追加されていることが確認できます。
なお、ここでは空の「point」という名称のレイヤを作成したという状態のため、属性テーブルを確認してもまだ1つの地物も存在していないことが確認できます。
地物の作成
地物の作成については別の記事で詳しく説明するため、ここではポイントレイヤを追加する手順について簡単に説明します。
- レイヤパネルより、地物を作成したいレイヤを選択します。
- [編集モード切り替え]ボタンをクリックします。
- [点地物を追加]ボタンをクリックします。
上記の手順を踏むことで、マップキャンバス上のカーソルが十字アイコンに切り替わります。この状態でクリックすることで、ポイントレイヤを作成することができます。
- 地物を作成したい場所でクリックします。
- 属性値を入力する画面が表示されるため、適宜入力して[OK]ボタンをクリックします。
- ポイントレイヤが作成されました。
編集が完了したら、[レイヤ編集内容を保存]ボタンをクリックして編集を確定させましょう。
既存のベクタデータをGeoPackageに変換する
QGISに追加しているShapefile形式などのベクタレイヤを簡単にGeoPackageに変換することが可能です。
エクスポート機能から変換する方法
通常、データ形式を変換する場合は、エクスポート機能を使用して行います。
レイヤパネルより、GeoPackageに変換したいレイヤを右クリックして、[エクスポート]→[地物を保存]の順にクリックします。
「名前を付けてベクタレイヤを保存」という画面が表示されます。今回は、「世界地図」のベクタレイヤを上記で作成した「data.gpkg」に追加したいと思います。
- 形式では[GeoPackage]を選択します。
- ファイル名の右の[•••]をクリックして、GeoPackageの保存先とファイル名を指定します。ここでは既存のGeoPackageレイヤを選択していますが、新規作成することも可能です
- レイヤ名を入力します。
- [OK]ボタンをクリックします。
QGISに変換したレイヤ「data_世界地図」が追加されるので、適切に変換できているか確認してみましょう。レイヤパネルから対象のレイヤを右クリックして、レイヤのプロパティを開き、[情報]タブをクリックします。
ソースを確認してみると、「data.gpkg」にレイヤが追加されていることを確認できました。
ブラウザパネルから変換する方法
続いて、ブラウザパネルから変換する方法について紹介します。ブラウザパネルから変換するには、まずはブラウザパネルで既存のGeoPackageに接続する必要があります。
ブラウザパネルから、[GeoPackage]を右クリックして、[新規接続]をクリックします。
「GeoPackageを開く」という画面が表示されるため、既存のGeoPackageを選択し[開く]をクリックします。
ブラウザパネルを確認してみると、「GeoPackage」の中に「data.gpkg」が追加されたことが確認できます。さらに、「data.gpkg」を開くと、このGeoPackageに格納されているレイヤも確認することができます。
ここまで設定ができたら、GeoPackageへの変換は簡単です。レイヤパネルより変換したいレイヤをブラウザパネル内の「data.gpkg」へドラッグ&ドロップしましょう。
「data.gpkg」に世界地図レイヤが追加されました。
変換したGeoPackageレイヤをQGISに追加するには、対象のレイヤを右クリックして[レイヤをプロジェクトに追加]をクリックするか、対象のレイヤをマップキャンバスへドラッグ&ドロップすることで追加することが可能です。
おわりに
GeoPackageは、QGISにおけるデータ管理と共有に非常に便利な形式です。複数のレイヤを1つのファイルにまとめられることや大容量のデータを扱えるなど、Shapefileに比べて多くの利便性があります。GeoPackageを活用して、QGISでの作業をさらに快適に進めてみましょう。