在空间上启用 SQLite 数据库

要在空间上启用现有 SQLite 数据库,执行以下操作之一:

将 ST_Geometry 表添加到 SQLite

要将 ST_Geometry 系统表添加到现有的 SQLite 数据库,需满足以下条件:

  • 数据库文件的扩展名必须是 .sqlite;因此,如果要使用的数据库具有其他扩展名,请重命名。 例如,如果数据库名为 projdata.d1,请将其重命名为 projdata.sqlite,然后再向其添加 ST_Geometry 类型。
  • 数据库不能已经包含其他空间类型。
  • Esri ST_Geometry 库必须能够从加载它的 SQL 编辑器进行访问。 可以从 My Esri 获取库(下在数据库支持 zip 文件)。
  1. 如有必要,重命名数据库文件,使其具有扩展名 .sqlite
  2. 使用 SQL 编辑器(如 sqlite3.exe)连接至数据库。
  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. 使用 SQL 编辑器(如 sqlite3.exe)连接至数据库。
  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();