SpatiaLite のインストール、ST_Geometry タイプの追加、または GeoPackage の作成のいずれかにより、空間データを既存の SQLite データベースに格納できます。
SpatiaLite を SQLite データベースに追加する方法については、SpatiaLite のドキュメントをご参照ください。
SQL を使用して ST_Geometry ライブラリを読み込んで、ST_Geometry タイプまたは GeoPackage のいずれかを既存の SQLite データベースに作成します。以下のセクションの説明に従います。
ST_Geometry テーブルの追加
ST_Geometry システム テーブルを既存の SQLite データベースに追加するには、次の手順に従います。
- データベース ファイルの拡張子は、.sqlite にする必要があるため、使用するデータベースに他の拡張子が付いている場合は、拡張子を変更する必要があります。たとえば、データベースの名前が projdata.d1 である場合、projdata.sqlite に変更してから ST_Geometry タイプをそのデータベースに追加する必要があります。
- データベース内に、すでに別の空間タイプが存在していてはなりません。
- 必要に応じて、データベースの拡張子を .sqlite に変更します。
- sqlite3.exe などの SQL エディターを使用してデータベースに接続します。
- ST_Geometry ライブラリを読み込みます。
この例では、ST_Geometry ライブラリを Windows コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');
この例では、ST_Geometry ライブラリを Linux コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('libstgeometry_sqlite.so','SDE_SQL_funcs_init');
- CreateOGCTables 関数を呼び出して、ST_Geometry テーブルをデータベースに追加します。
SELECT CreateOGCTables();
GeoPackage テーブルの追加
GeoPackage システム テーブルを既存の SQLite データベースに追加するには、次の手順に従います。
- データベース ファイルの拡張子は、.gpkg にする必要があるため、使用するデータベースに他の拡張子が付いている場合は、拡張子を変更する必要があります。たとえば、データベースの名前が study.db である場合、study.gpkg に変更してから GeoPackage テーブルをそのデータベースに追加する必要があります。
- データベース内に、すでに別の空間タイプが存在していてはなりません。
- 必要に応じて、データベースの拡張子を .gpkg に変更します。
- sqlite3.exe などの SQL エディターを使用してデータベースに接続します。
- ST_Geometry ライブラリを読み込みます。
この例では、ST_Geometry ライブラリを Windows コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');
この例では、ST_Geometry ライブラリを Linux コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('libstgeometry_sqlite.so','SDE_SQL_funcs_init');
- CreateGpkgTables 関数を呼び出して、GeoPackage テーブルをデータベースに追加します。
SELECT CreateGpkgTables();