Habilitar espacialmente una base de datos de SQLite
Para habilitar espacialmente una base de datos de SQLite existente, realice una de las siguientes acciones:
Instale SpatiaLite. Consulte la documentación de SpatiaLite para obtener información sobre cómo añadir SpatiaLite a una base de datos de SQLite.
Utilice SQL para cargar la biblioteca ST_Geometry y crear el tipo ST_Geometry en una base de datos de SQLite existente.
Utilice SQL para cargar la biblioteca ST_Geometry y crear un GeoPackage de OGC.
Agregar tablas ST_Geometry a SQLite
Para agregar tablas de sistema de ST_Geometry a una base de datos de SQLite existente, se requiere lo siguiente:
El archivo de la base de datos debe tener la extensión
.sqlite; por tanto, si la base de datos que desea usar tiene una extensión diferente, debe cambiar su nombre. Por ejemplo, si la base de datos se llamaprojdata.d1, cambie el nombre aprojdata.sqliteantes de agregarle el tipo ST_Geometry.La base de datos no puede contener ya otro tipo espacial.
La biblioteca ST_Geometry de Esri debe ser accesible desde el editor de SQL desde el cual la cargó. Puede obtener la biblioteca en My Esri. Descargue el paquete ST_Geometry de los archivos de Soporte de bases de datos y extraiga el contenido del paquete.
Si almacena la base de datos de SQLite en un equipo Linux, la biblioteca
libstdcc++.so.6.0.29o una versión posterior debe estar presente. Si no lo está, coloque la bibliotecalibstdcc++.so.6del paquete extraído en el mismo directorio local de Linux que la bibliotecalibstgeometry_sqlite.
Si es necesario, cambie el nombre del archivo de la base de datos de modo que tenga la extensión
.sqlite.Conéctese a la base de datos con un editor de SQL, como
sqlite3.exe.Cargue la biblioteca ST_Geometry.
En este ejemplo se carga la biblioteca ST_Geometry en una base de datos de SQLite en un equipo con Microsoft Windows:
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');En este ejemplo se carga la biblioteca ST_Geometry en una base de datos de SQLite en un equipo con Linux:
SELECT load_extension('libstgeometry_sqlite','SDE_SQL_funcs_init');Invoque la función
CreateOGCTablespara agregar tablas ST_Geometry a la base de datos.SELECT CreateOGCTables();
Crear un nuevo GeoPackage
Para convertir una base de datos de SQLite existente en un GeoPackage, se requiere lo siguiente:
El archivo de la base de datos debe tener la extensión
.gpkg; por tanto, si la base de datos que desea usar tiene una extensión diferente, debe cambiar su nombre. Por ejemplo, si la base de datos se llamastudy.db, cambie el nombre astudy.gpkgantes de convertirla en un GeoPackage.La base de datos no puede contener ya otro tipo espacial.
Si es necesario, cambie el nombre del archivo de la base de datos de modo que tenga la extensión
.gpkg.Conéctese a la base de datos con un editor de SQL, como
sqlite3.exe.Cargue la biblioteca ST_Geometry.
En este ejemplo se carga la biblioteca ST_Geometry en una base de datos de SQLite en un equipo con Windows:
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');En este ejemplo se carga la biblioteca ST_Geometry en una base de datos de SQLite en un equipo con Linux:
SELECT load_extension('libstgeometry_sqlite','SDE_SQL_funcs_init');Invoque la función
CreateGpkgTablespara agregar tablas GeoPackage a la base de datos.SELECT CreateGpkgTables();