Qu'est-ce que SQLite, et pourquoi le visualiser sur une carte
SQLite est un moteur de base de données petit et rapide qui stocke une base de données entière dans un seul fichier simple sur le disque, au lieu de fonctionner comme un programme serveur séparé. C'est l'un des logiciels les plus utilisés au monde, intégré dans les téléphones, les navigateurs, les applications et d'innombrables programmes SIG. SpatiaLite est une extension gratuite qui ajoute des fonctions spatiales à ce même format de fichier, permettant à un fichier SQLite ordinaire de stocker aussi des points, des lignes et des polygones, comme le ferait une base de données SIG complète. Cet outil de visualisation ouvre l'un ou l'autre type de fichier directement dans votre navigateur et place les données de localisation qu'il contient sur une vraie carte, sans avoir besoin d'un programme de base de données ni d'un SIG de bureau complet installé.
Regarder : la visionneuse SQLite en moins d'une minute
Vous préférez regarder plutôt que lire ? Cette courte vidéo montre comment importer un fichier SQLite ou SpatiaLite, visualiser ses données sur la carte, et exporter le résultat.
Questions fréquentes
Travailler avec plusieurs tables
Un seul fichier SQLite ou SpatiaLite contient souvent plus d'une table intéressante à cartographier, une couche de points de relevé aux côtés d'une couche de limites de site, par exemple. La liste des tables de la barre latérale affiche chaque table trouvée dans le fichier, étiquetée comme couche de géométrie SpatiaLite, table avec des colonnes de latitude/longitude détectées, ou table sans donnée de localisation. Cliquez sur n'importe quelle table étiquetée pour la charger sur la carte à la place de ce qui était affiché avant.
Si une table n'a pas de colonnes de latitude/longitude au nom évident, un petit panneau vous permet de choisir les deux bonnes colonnes à la main, de la même façon que l'outil CSV to Map de ce site, afin qu'une table utilisant des noms de colonnes inhabituels comme "y_coord" ou "pos_lng" ne soit jamais laissée de côté.
Comment un fichier SQLite / SpatiaLite est structuré
Un fichier SQLite est organisé comme un ensemble de tables, avec la même disposition en lignes et colonnes que n'importe quelle base de données relationnelle. Ouvrir un fichier .sqlite ou .db revient simplement à lire ces tables. Un fichier compatible SpatiaLite ajoute un petit ensemble standard de tables supplémentaires par-dessus cette même structure, ce qui permet à cet outil, et à tout autre logiciel compatible SpatiaLite, de trouver les données cartographiques automatiquement, au lieu de deviner.
Tables ordinaires
La plupart des fichiers SQLite ordinaires, y compris un export .sqlite ou .db d'une application de relevé, d'une application mobile, ou d'un script, stockent les données sous forme de tables ordinaires avec des colonnes typées. Si une table a des colonnes qui ressemblent à la latitude et la longitude, que ce soit par leur nom ou par la plage de valeurs qu'elles contiennent, cet outil les détecte automatiquement et affiche chaque ligne sous forme de point.
Les tables de métadonnées de SpatiaLite
Un fichier compatible SpatiaLite ajoute des tables telles que geometry_columns, qui liste chaque table contenant de la géométrie ainsi que le nom de sa colonne de géométrie et son système de coordonnées, et spatial_ref_sys, qui stocke la définition de chaque système de coordonnées référencé, y compris une chaîne proj4 prête à l'emploi. Ensemble, ces tables permettent à un outil de visualisation de trouver chaque couche spatiale du fichier sans devoir inspecter chaque table à la main.
Stockage de la géométrie : les BLOB SpatiaLite
À l'intérieur d'un fichier SpatiaLite, chaque géométrie, un point, une ligne, ou un polygone, est stockée comme une valeur binaire (un BLOB) dans une seule colonne. Le format commence par un court en-tête portant le système de coordonnées et une boîte englobante pour un filtrage rapide, suivi du type de géométrie et de ses coordonnées, et se termine par un octet marqueur fixe. C'est une façon compacte de stocker des formes sous forme d'octets bruts plutôt que de texte. Cet outil lit ce format binaire directement dans votre navigateur et le transforme en formes que vous voyez sur la carte.
Deux façons de mettre vos données sur la carte
Ouvrez une base de données dans l'outil avec la méthode qui vous convient :
- Importer ou glisser-déposer: Cliquez sur "Upload" et choisissez un fichier .sqlite, .sqlite3, ou .db, ou glissez le fichier directement sur la carte depuis votre explorateur de fichiers.
- Essayer les données d'exemple: Cliquez sur "Sample Data" pour créer et charger une petite base de données de démonstration avec une table de points d'intérêt de style SpatiaLite et une table de capteurs en simple latitude/longitude, afin de tester tout de suite le clic, la coloration et le changement de table.
Dès qu'un fichier est chargé, l'outil liste chaque table utilisable dans la barre latérale et affiche automatiquement la meilleure correspondance, une table de géométrie SpatiaLite si elle existe, sinon la première table avec des colonnes de latitude/longitude reconnaissables, et zoome la carte pour s'ajuster à ses données. Cliquez sur n'importe quelle autre table de la liste pour y basculer à la place.
Systèmes de coordonnées et reprojection
La géométrie SpatiaLite peut être stockée dans n'importe quel système de coordonnées, pas seulement en simple latitude et longitude. Cet outil lit le système de coordonnées enregistré pour chaque table de géométrie et, quand il le reconnaît (WGS84 et Web Mercator couvrent la plupart des fichiers réels, les autres systèmes étant gérés via la chaîne proj4 stockée dans spatial_ref_sys quand c'est possible), reprojette chaque forme en simple latitude et longitude avant de la dessiner, afin que la carte soit correcte quelle que soit la façon dont le fichier source a stocké ses coordonnées.
Cas d'usage concrets
Un outil de visualisation SQLite et SpatiaLite trouve sa place partout où des données cartographiques sont collectées, partagées, ou transmises entre outils. Voici où il est le plus utilisé :
Exporter ce que vous voyez
Cliquez sur "Download Table as GeoJSON" pour enregistrer la table actuellement chargée, avec sa géométrie décodée et reprojetée, sous forme de fichier GeoJSON standard. Les changements de style comme la couleur n'affectent que l'affichage sur la carte, pas le fichier exporté. GeoJSON s'ouvre sans problème dans QGIS, ArcGIS, Leaflet, Mapbox GL JS, et pratiquement tous les outils cartographiques modernes.
Voir chaque attribut en cliquant
Cliquez sur n'importe quel point, ligne ou polygone sur la carte, et une fenêtre contextuelle s'ouvre en listant chaque valeur de colonne stockée dans cette ligne, noms, catégories, nombres, dates, tout ce que la table contient à l'exception de la géométrie brute elle-même. L'élément cliqué reçoit aussi un contour de surbrillance vif, afin que vous sachiez toujours exactement à quelle forme appartient la fenêtre contextuelle, même dans une table dense ou avec des éléments qui se chevauchent.
Changer la couleur de vos données
Trois commandes dans la barre latérale vous permettent de restyliser toute la table instantanément, sans toucher au fichier d'origine :
- Couleur: choisissez n'importe quelle couleur parmi les nuanciers ou le sélecteur de couleur. Elle s'applique immédiatement aux lignes, aux remplissages et contours de polygones, et aux marqueurs de points.
- Épaisseur de ligne: rendez les contours et les lignes plus fins ou plus épais, d'un trait fin comme un cheveu à un trait épais digne d'une affiche.
- Opacité du remplissage: contrôlez à quel point les remplissages de polygones sont opaques ou transparents, d'un léger voile à une couleur entièrement pleine.
Chaque changement s'applique en direct à la table déjà présente sur la carte, ce qui vous permet d'essayer plusieurs styles en quelques secondes avant d'en choisir un.
Une brève histoire de SQLite
SQLite a été écrit par D. Richard Hipp en 2000, alors qu'il travaillait sur un logiciel pour l'US Navy. Le projet avait besoin d'une base de données qui n'exige pas d'installer et de faire fonctionner un serveur de base de données séparé. Hipp a donc construit un moteur de base de données sous la forme d'une petite bibliothèque qui lit et écrit directement dans un seul fichier. Ce choix de conception, pas de processus serveur, pas d'installation séparée, pas de configuration, explique encore aujourd'hui pourquoi SQLite est partout.
Parce qu'il est dans le domaine public et gratuit à intégrer dans n'importe quel produit, SQLite s'est rapidement répandu dans les navigateurs web, les systèmes d'exploitation mobiles, les applications de bureau et d'innombrables outils de développement. Chaque téléphone Android et iOS est livré avec SQLite intégré, et on l'appelle souvent le moteur de base de données le plus déployé au monde, avec une base installée qui se compte en milliards d'appareils.
SpatiaLite est arrivé plus tard, créé par Alessandro Furieri et publié pour la première fois vers 2008. Il fonctionne comme une extension chargeable, distribuée sous le nom de libspatialite, qui ajoute des fonctions SQL spatiales, l'indexation spatiale R-Tree, et une méthode standard pour stocker la géométrie sous forme de BLOB directement dans un fichier SQLite ordinaire, un peu comme PostGIS ajoute des fonctions spatiales à PostgreSQL. QGIS prend en charge SpatiaLite comme l'un de ses formats natifs depuis de nombreuses années, et cela reste un choix courant, léger, en un seul fichier, pour la collecte de données sur le terrain et les projets SIG de bureau qui n'ont pas besoin d'un serveur de base de données complet.
Étape par étape









D'autres outils qui pourraient vous plaire
Map tiles © OpenStreetMap contributors and Protomaps (hosted by KONAKTIVE), CARTO, Esri (satellite). Database reading powered by sql.js. Map rendering by Leaflet. All file reading and rendering is local, no data is uploaded to any server.
