Skip to main content

SQLite データベースでの空間対応

既存の SQLite データベースを空間対応にするには、次のいずれかを実行します:

ST_Geometry テーブルの SQLite への追加

ST_Geometry システム テーブルを既存の SQLite データベースに追加するには、次の手順に従います:

  • データベース ファイルの拡張子は .sqlite にする必要があるため、使用するデータベースに他の拡張子が付いている場合は、拡張子を変更します。 たとえば、データベースの名前が projdata.d1 である場合、projdata.sqlite に変更してから ST_Geometry タイプをデータベースに追加する必要があります。

  • データベース内に、すでに別の空間タイプが存在していてはなりません。

  • Esri ST_Geometry ライブラリーは、それを読み込む SQL エディターからアクセスできる必要があります。 ライブラリーは My Esriから入手できます。 データベース サポート ファイルから ST_Geometry パッケージをダウンロードし、その内容を抽出します。

  • Linux コンピューターに SQLite データベースを保存する場合、libstdcc++.so.6.0.29 ライブラリーまたはそれ以降のリリースが存在する必要があります。 存在しない場合は、抽出したパッケージの libstdcc++.so.6 ライブラリーを、libstgeometry_sqlite ライブラリーと同じローカル Linux ディレクトリーに置きます。

  1. 必要に応じて、データベース ファイルの拡張子を .sqlite に変更します。

  2. sqlite3.exe などの SQL エディターを使用してデータベースに接続します。

  3. 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');

  4. CreateOGCTables 関数を呼び出し、ST_Geometry テーブルをデータベースに追加します。

    SELECT CreateOGCTables();

GeoPackage の作成

既存の SQLite データベースを GeoPackage に変換するには、次の手順に従う必要があります:

  • データベース ファイルの拡張子は .gpkg にする必要があるため、使用するデータベースに他の拡張子が付いている場合は、拡張子を変更します。 たとえば、データベースの名前が study.db である場合、study.gpkg に変更してから GeoPackage に変換する必要があります。

  • データベース内に、すでに別の空間タイプが存在していてはなりません。

  1. 必要に応じて、データベース ファイルの拡張子を .gpkg に変更します。

  2. sqlite3.exe などの SQL エディターを使用してデータベースに接続します。

  3. 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');

  4. CreateGpkgTables 関数を呼び出して、GeoPackage テーブルをデータベースに追加します。

    SELECT CreateGpkgTables();