既存の SQLite データベースを空間対応にするには、次のいずれかを実行します。
- SpatiaLite をインストールします。 SpatiaLite を SQLite データベースに追加する方法については、「SpatiaLite のドキュメント」をご参照ください。
- SQL を使用して ST_Geometry ライブラリを読み込んでから、ST_Geometry タイプを既存の SQLite データベースに作成します。
- SQL を使用して ST_Geometry ライブラリを読み込んでから、OGC GeoPackage を作成します。
ST_Geometry テーブルの SQLite への追加
ST_Geometry システム テーブルを既存の SQLite データベースに追加するには、次の手順に従います。
- データベース ファイルの拡張子は、.sqlite にする必要があるため、使用するデータベースに他の拡張子が付いている場合は、拡張子を変更する必要があります。 たとえば、データベースの名前が projdata.d1 である場合、projdata.sqlite に変更してから ST_Geometry タイプをデータベースに追加する必要があります。
- データベース内に、すでに別の空間タイプが存在していてはなりません。
- Esri ST_Geometry ライブラリは、これを読み込む SQL エディターからアクセスできる必要があります。 ライブラリは、My Esri から取得 (Database Support の ZIP ファイルをダウンロード) することができます。
- 必要に応じて、データベース ファイルの拡張子を .sqlite に変更します。
- sqlite3.exe などの SQL エディターを使用してデータベースに接続します。
- ST_Geometry ライブラリを読み込みます。
この例では、ST_Geometry ライブラリを Microsoft Windows コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');
この例では、ST_Geometry ライブラリを Linux コンピューター上の SQLite データベースに読み込みます。
SELECT load_extension('libstgeometry_sqlite','SDE_SQL_funcs_init');
- CreateOGCTables 関数を呼び出して、ST_Geometry テーブルをデータベースに追加します。
SELECT CreateOGCTables();
GeoPackage の作成
既存の SQLite データベースを GeoPackage に変換するには、以下の手順に従う必要があります。
- データベース ファイルの拡張子は、.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','SDE_SQL_funcs_init');
- CreateGpkgTables 関数を呼び出して、GeoPackage テーブルをデータベースに追加します。
SELECT CreateGpkgTables();