既存の 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 から取得 (ArcGIS Pro Database Support の ZIP ファイルをダウンロード) したり、ArcGIS Desktop または ArcGIS Server のインストール場所の DatabaseSupport ディレクトリから取得したりすることができます。
- 必要に応じて、データベースの拡張子を .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.so','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.so','SDE_SQL_funcs_init');
- CreateGpkgTables 関数を呼び出して、GeoPackage テーブルをデータベースに追加します。
SELECT CreateGpkgTables();