Vous pouvez vous connecter à partir d'ArcGIS for Desktop à une base de données SQLite pour créer des cartes et effectuer des analyses spatiales.
ArcGIS prend en charge les données spatiales dans les bases de données SQLite qui contiennent l'un des types de stockage suivants :
- Esri ST_Geometry : le fichier de base de données doit porter l'extension .sqlite pour pouvoir être utilisé avec ArcGIS.
- SpatiaLite : le fichier de base de données doit porter l'extension .sqlite pour pouvoir être utilisé avec ArcGIS.
- GeoPackage : le fichier GeoPackage doit porter l'extension .gpkg pour pouvoir être utilisé avec ArcGIS.
Vous pouvez utiliser un seul type de stockage spatial par base de données SQLite. Reportez-vous à la rubrique Spatialiser une base de données SQLite pour savoir comment ajouter un type de stockage spatial à une base de données existante.
Pour créer une base de données SQLite qui utilise le stockage ST_Geometry or SpatiaLite, ou pour créer un fichier GeoPackage, utilisez la fonction ArcPy CreateSQLiteDatabase.
Données SQLite dans ArcGIS
Accès aux données
Vous contrôlez l'accès à une base de données SQLite ou un fichier GeoPackage en octroyant des autorisations sur le dossier permettant d'y accéder. Contrairement à d'autres bases de données, vous ne créez pas d'utilisateurs authentifiés par la base de données et vous n'octroyez pas à d'autres utilisateurs de privilèges sur des jeux de données spécifiques.
Plusieurs utilisateurs peuvent lire des fichiers SQLite et GeoPackage, mais vous ne devez pas mettre à jour la base de données pendant qu'un autre utilisateur la met à jour. Par exemple, n'ajoutez pas de données à une table existante ou ne créez pas de table dans la base de données pendant qu'un autre utilisateur ajoute des données à une table existante ou crée une table dans la base de données.
Types de données
SQLite est également différent des autres bases de données en ce sens qu'aucun type de données précis n'est attribué aux champs et que les définitions des types de données ne sont pas strictement appliquées. En revanche, SQLite utilise des classes de stockage dans lesquelles les valeurs de différents types de données peuvent être stockées.
ArcGIS ne peut toutefois utiliser qu'un seul type de données par champ et applique strictement les types de données. Il est important que vous soyez conscient de cette différence d'application des types de données lorsque vous visualisez des données SQLite dans ArcGIS.
L'exemple suivant crée une table avec des champs de type texte (TEXT) et entier (INTEGER) :
CREATE TABLE mytable (
id INTEGER PRIMARY KEY NOT NULL,
item TEXT,
weight INTEGER,
store TEXT;
Même si le champ correspondant au poids (weight) est défini comme un entier, SQLite vous permet d'y stocker des nombres comportant des décimales. Vous pouvez même y stocker du texte. Par exemple, vous pouvez insérer les enregistrements suivants :
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”
);
Toutefois, les valeurs apparaissent comme suit dans ArcGIS, car le champ weight est défini comme un entier :
ID | élément | weight | store |
---|---|---|---|
1 | magnetic dual elliptical trainer with seat | 75 | CardioPlus Equipment |
2 | superfit treadmill4000 | 81 | Sports Pit |
3 | serenity yoga mat | 0 | Aerobic Angels Sporting Goods |
4 | swim fins | 0 | The Plunge |
Reportez-vous à la rubrique Types de données SGBD pris en charge dans ArcGIS pour savoir quels types de données SQLite sont appariés avec quels types de données ArcGIS.