Créer et utiliser une base de données SQLite dans ArcGIS 10.2
En version 10.2, ArcGIS supporte les bases de données SQLite avec la possibilité de créer et d'accéder à des tables et des classes d'entités simples directement dans ArcGIS Desktop. SQLite est un moteur de base de données accessible en SQL qui se caractérise des autres SGBD par le fait qu'il ne repose sur une architecture client-serveur mais simplement sur des fichiers indépendant de la plateforme. SQLite est donc très léger, facilement intégrable dans différentes applications et surtout très transportable sur différents environnements notamment mobiles.
ArcGIS Desktop 10.2 prend en charge les bases de données SQLite sans y stocker de schéma de Géodatabase. Par conséquent, les limitations sont les mêmes que pour les autres types de bases de données qui n'ont pas de schéma de Géodatabase. Ceci veut dire que vous pouvez créer une base SQLite, y ajouter des tables et des classes d'entités simples et charger/supprimer des données en batch. En revanche, vous ne pouvez pas ouvrir, dans ArcMap, une session de mise à jour sur ces données et modifier individuellement les entités.
Créer une base de données SQLite avec ArcGIS 10.2
La création d'une base de données SQLite peut se faire directement à partir d'ArcGIS à l'aide d'une commande arcpy, dans la console Python ou via un script. La syntaxe est la suivante:
# Import du module arcpy
import arcpy
# Définition du chemin d'accès à la base SQLite
sqlite_db_path = 'c:/temp/france.sqlite'
# Création de la base
arcpy.gp.createSQLiteDatabase(sqlite_db_path,"ST_GEOMETRY")
Vous noterez l'utilisation du mot-clé "ST_GEOMETRY" qui est le type spatial par défaut proposé pour le stockage de géométrie. Il s'agit du type spatial normalisé OGC Spatial Data Type 1.1, comme pour tous les autres SGBD. Il est également possible d'utiliser le mot-clé SPATIALITE pour utiliser le type spatial SpatiaLite qui est une extension spatiale utilisée et reconnus par d'autres outils de cartographie libres ou propriétaires utilisant les librairies GDAL (QGIS, FME, AutoCAD Map, ...).
Une fois votre base SQLite créée, vous pourrez créer des tables et des classes d'entités comme dans n'importe qu'elle autre base de données, soit par un clic droit et la commande Nouveau ou la commande Import, soit par un copier/coller depuis une autre base de données.
Les tables et les classes d'entités sont ensuite manipulées comme avec n'importe quelle autre base de données.
Les tables et classes d'entités SQLite sont des Query Layers, elles peuvent ensuite être exploitée comme n'importe quelles tables ou classes d'entités ArcGIS (symbologie, requête, sélection, ...).
Comme toutes les Query Layers, vous pouvez à tout moment en modifier la définition SQL via les propriétés de la couches (ou de la table) à partir de l'onglet Source.
Pour terminer, on notera que les tables et les classes d'entités créées avec ArcGIS restent accessibles aux autres applications consommant ces bases SQLite et donc manipulables en SQL.