Puede conectarse desde ArcGIS for Desktop a una base de datos SQLite para crear mapas y realizar un análisis espacial.
ArcGIS admite datos espaciales en las bases de datos de SQLite que contienen uno de los siguientes tipos de almacenamientos:
- ST_Geometry de Esri: el archivo de base de datos debe tener la extensión .sqlite para que sea posible usarlo con ArcGIS.
- SpatiaLite: el archivo de base de datos debe tener la extensión .sqlite para que sea posible usarlo con ArcGIS.
- GeoPackages:el archivo de GeoPackage debe tener la extensión .gpkg para que sea posible usarlo con ArcGIS.
Solo puede utilizar un tipo de almacenamiento espacial por cada base de datos SQLite. Consulte Habilitar espacialmente una base de datos SQLite para obtener información sobre la adición de un tipo de almacenamiento espacial a una base de datos existente.
Para crear una base de datos de SQLite que utilice un almacenamiento ST_Geometry o SpatiaLite, o para crear un GeoPackage, use la función CreateSQLiteDatabase de ArcPy.
Datos de SQLite en ArcGIS
Acceso a datos
Puede controlar el acceso a una base de datos SQLite o GeoPackage controlando los permisos en la carpeta donde se almacena. A diferencia de otras bases de datos, no crea usuarios autenticados por la base de datos y no concede privilegios sobre datasets específicos a otros usuarios.
SQLite y los GeoPackages pueden ser leídos por varios usuarios, pero no debe realizar actualizaciones en la base de datos mientras otro usuario la está actualizando. Por ejemplo, no incorpore datos a una tabla existente ni cree una tabla en la base de datos mientras haya alguien que esté realizando estos dos tipos de acciones en la base de datos.
Tipos de datos
SQLite también se diferencia de las demás bases de datos en que a los campos no se les asignan tipos de datos específicos y en que las definiciones de tipos de datos no se exigen de forma estricta. En su lugar, SQLite usa clases de almacenamiento en las que se pueden almacenar valores de tipos de datos diferentes.
Sin embargo, ArcGIS solo puede trabajar con un tipo de datos por campo y exige de forma estricta los tipos de datos. Debe ser consciente de esta diferencia en la exigencia de tipos de datos al ver los datos de SQLite en ArcGIS.
En el ejemplo siguiente se crea una tabla con campos de valores de texto y enteros:
CREATE TABLE mytable (
id INTEGER PRIMARY KEY NOT NULL,
item TEXT,
weight INTEGER,
store TEXT;
Aunque el campo de peso se define como un entero, SQLite permite almacenar números decimales en él. Incluso le permite almacenar texto en él. Por ejemplo, puede insertar los registros siguientes:
INSERT INTO mytable (id, item, weight, store) VALUES( 1, “magnetic dual elliptical trainer with seat”, 75, “CardioPlus Equipment”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 2, “superfit treadmill4000”, 81.2, “Sports Pit”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 3, “serenity yoga mat”, .4588, “Aerobic Angels Sporting Goods”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 4, “swim fins”, "two", “The Plunge”
);
Sin embargo, los valores aparecerán del modo siguiente en ArcGIS porque el campo de peso se define como entero:
Id. | elemento | peso | tienda |
---|---|---|---|
1 | elíptica dual magnética con asiento | 75 | CardioPlus Equipment |
2 | cinta para correr 4000 superfit | 81 | Sports Pit |
3 | colchoneta para yoga serenity | 0 | Aerobic Angels Sporting Goods |
4 | aletas para nadar | 0 | The Plunge |
Consulte Tipos de datos DBMS admitidos en ArcGIS para obtener una lista de qué tipos de datos de SQLite se asignan a qué tipos de datos de ArcGIS.