GPKG ファイル形式とは?
.gpkg 拡張子は、地理空間データ用の最新の自己完結型 SQLite 3 データベースコンテナである OGC GeoPackage ファイルを識別します。Open Geospatial Consortium (OGC) によって開発されたこの形式は、ベクトルフィーチャレイヤー、ラスタタイルピラミッド、座標参照系、およびメタデータを、関連ファイルを必要としない単一のポータブルなファイルにパッケージ化します。
.gpkg はプレーンな SQLite 3 データベースであるため、標準の 16 バイトの SQLite format 3 マジックヘッダーで始まります。GeoPackage は SQLite の application_id フィールドを 0x47504B47 (ASCII で «GPKG») に設定し、user_version を仕様のリビジョン(例:GeoPackage 1.4 の場合は 10400)に設定します。ファイルが有効な GeoPackage であるためには、gpkg_contents や gpkg_spatial_ref_sys を含む一連の必須 gpkg_* システムテーブルが存在する必要があります。
単一の .gpkg ファイルには以下を保持できます:
- ベクトルフィーチャテーブル(GeoPackageBinary (
GP) BLOB としてエンコードされたジオメトリ) - ラスタタイルピラミッドテーブル(PNG、JPEG、または WebP 画像 BLOB としてタイルを保存)
- 空間参照系の定義(EPSG コードおよび WKT)
- 属性のみ(非空間)のデータテーブル
GeoPackage は、複数のファイルで構成される Esri Shapefile に代わる実用的なオープンな代替手段です。1 つの .gpkg が .shp / .dbf / .prj のセットを置き換え、2 GB のファイルサイズ制限、10 文字のフィールド名制限、およびその他のレガシーな制約を解消します。ファイルサイズは、データセットの範囲やタイルピラミッドの深さに応じて、数十キロバイトから数百ギガバイトに及びます。DB Browser for SQLite などの標準的な SQLite ツールで .gpkg を開いて検査できますが、ジオメトリを正しく解釈するには GIS ソフトウェアが必要です。
セキュリティと安全性
リスク: LOWGeoPackage は SQLite データファイルであり、実行ファイルではないため、開く際のリスクは低いです。主な注意点は一般的なものです。SQLite データベースは巨大になる可能性があり、不正な形式や破損したファイルはツールをクラッシュさせる可能性があります。疑わしい場合は PRAGMA integrity_check を実行してください。Gramps の .gpkg(別の形式)と混同しないでください。信頼できる GIS ソースからデータを取得してください。データ自体がコードを実行することはありません。
形式の詳細
概要- Gramps 家系図パッケージ - Gramps(家系図ソフトウェア)は、家系図の XML とメディアファイルをバンドルした GZIP 圧縮パッケージとして .gpkg をエクスポートします。GIS とは無関係です。
- 汎用 GPK/パッケージデータ - 一部のゲームやアプリが独自のリソースパッケージに .gpkg を使用していますが、これらはニッチであり GeoPackage とは無関係です。
GPKG ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | SQLite 3 単一ファイルデータベース |
| MIME タイプ | application/geopackage+sqlite3 |
| マジックバイト | 16 バイトの SQLite 3 ヘッダー: 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 («SQLite format 3\000») |
| アプリケーション ID | SQLite の application_id ヘッダーフィールドに保存された 0x47504B47 (ASCII で «GPKG») |
| バージョンフィールド | SQLite ヘッダーの user_version が仕様バージョンをエンコード(例:10400 = GeoPackage 1.4) |
| バイト順序 | リトルエンディアン (SQLite のデフォルト) |
| エンコーディング | バイナリ |
| ベクトルジオメトリのエンコード | GeoPackageBinary (GP) BLOB - 8 バイトのエンベローププレフィックスを持つ ISO WKB ジオメトリ |
| ラスタタイルの保存 | タイルピラミッドテーブル内の PNG、JPEG、または WebP BLOB。タイルは画像レベルで事前圧縮済み |
| 必須システムテーブル | gpkg_contents, gpkg_spatial_ref_sys, gpkg_geometry_columns, gpkg_tile_matrix_set, gpkg_tile_matrix |
| 座標参照系 | gpkg_spatial_ref_sys で定義。EPSG コードおよび WKT で表現可能なすべての CRS をサポート |
| 圧縮 | データベースレベルではなし。ラスタタイル BLOB は独自の画像圧縮(PNG/JPEG/WebP)を保持 |
| 暗号化 | 標準では未定義。サードパーティの SQLite 拡張機能(SQLCipher など)を介してオプションで可能(非標準) |
| ファイルサイズ範囲 | 数十キロバイトから数百ギガバイト。SQLite の最大値は約 281 TB |
| プラットフォームサポート | Windows, macOS, Linux, Android, iOS |
| 整合性の検証 | PRAGMA integrity_check (SQLite ページレベル)。組み込みの空間レベルのチェックサムはなし |
| リリース日 | 2014 (OGC GeoPackage 1.0) |
| 最新バージョン | OGC GeoPackage 1.4 (2024) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.geopackage.org |
GPKG の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。GPKG ファイルについて最初の質問をしてみましょう。