PostGIS : 4 types spatiaux pour stocker et interroger vos données géographiques
PostGIS ajoute une dimension géographique à PostgreSQL. Cette extension permet de conserver des données attributaires et des objets localisés dans les mêmes tables, puis de les interroger avec SQL : trouver les équipements proches d’une adresse, repérer les parcelles incluses dans une zone ou préparer des couches pour un SIG. Elle convient aussi bien à un premier projet cartographique qu’à une architecture de diffusion de données géographiques.
PostGIS transforme PostgreSQL en base de données spatiale
PostgreSQL est un système de gestion de bases de données relationnelles. Il organise des bases, des schémas, des tables, des vues, des fonctions, des rôles et des privilèges. Sans extension, il sait déjà stocker des textes, des nombres, des dates et les relations entre les enregistrements. PostGIS lui ajoute les types, les index et les fonctions nécessaires pour gérer la localisation et la forme des objets.
Une même table peut associer les informations métier d’un objet à sa représentation géographique. Une table d’arrêts de transport peut contenir un identifiant, un nom, une ligne, un statut et une géométrie de point. Une table de secteurs peut combiner une population, une date de mise à jour et un polygone. Cette centralisation évite de séparer la carte de ses données de gestion.
PostGIS respecte les standards de l’Open Geospatial Consortium, notamment Simple Features for SQL (SFSQL) et SQL-MM. Cette conformité facilite l’interopérabilité avec les outils SIG, les serveurs cartographiques et les applications web qui doivent lire, analyser ou diffuser des données géographiques.
Choisir le bon type spatial avant de créer une table
Les données spatiales ne répondent pas toutes au même besoin. Le choix du type influence la manière de stocker les objets et les traitements disponibles. PostGIS prend notamment en charge quatre grandes familles : geometry, geography, raster et topology.
| Type | Usage principal | Exemples d’objets |
|---|---|---|
| geometry | Représenter des formes vectorielles | Points, lignes, polygones |
| geography | Gérer des objets géographiques | Positions et emprises sur la surface terrestre |
| raster | Stocker des données organisées en pixels | Images, grilles et données de télédétection |
| topology | Décrire des relations topologiques | Réseaux et découpages partageant des limites |
Geometry, le point de départ le plus courant
Le type geometry sert à stocker les formes vectorielles classiques : un point pour un capteur ou une adresse, une ligne pour une route ou un itinéraire, un polygone pour une commune, un bâtiment ou une zone de chalandise. Pour interpréter correctement une position, il faut aussi maîtriser le système de référence spatial associé aux coordonnées. Deux jeux de données qui semblent utiliser des coordonnées proches peuvent ne pas se superposer s’ils ne reposent pas sur la même référence.
La carte a aussi une zone d’ombre
Une géométrie ne décrit pas toujours une vérité parfaite. Elle possède une précision, une date de capture, une méthode de numérisation et parfois une incertitude. Ajouter des champs comme la source, la date d’observation, la précision estimée ou le niveau de confiance permet de distinguer une limite administrative fiable d’un relevé de terrain approximatif. Cette information améliore les analyses : une proximité calculée au mètre près n’a pas la même portée selon la qualité réelle de la position.
Activer PostGIS dans une base PostgreSQL
PostGIS s’active dans chaque base où ses types et ses fonctions doivent être utilisés. PostgreSQL et les composants PostGIS doivent d’abord être installés sur le serveur. Connectez-vous ensuite à la base cible avec psql, DBeaver ou pgAdmin 4, puis exécutez la commande suivante :
CREATE EXTENSION « postgis »;
Cette opération installe les fonctions spatiales dans la base sélectionnée. Elle requiert des droits de superutilisateur. En environnement professionnel, il est préférable de séparer le compte d’administration, habilité à installer les extensions, des rôles applicatifs limités à la lecture ou à l’écriture sur les schémas et les tables nécessaires.
Vérifier les prérequis et les versions
Les versions de PostgreSQL et des bibliothèques associées doivent rester compatibles avec la version de PostGIS déployée. Pour PostGIS 3.7.0beta2, les prérequis mentionnés incluent PostgreSQL 14 à 19beta2, GEOS 3.10 ou supérieur et Proj 6.1 ou supérieur. GEOS 3.15 ou supérieur est nécessaire pour profiter de toutes les fonctionnalités, tandis que les fonctionnalités SFCGAL demandent SFCGAL 2.3.0 ou supérieur.
Une version bêta sert à tester une future version majeure. Elle ne doit donc pas être adoptée automatiquement sur une plateforme de production. Avant une mise à jour, sauvegardez la base, vérifiez les extensions installées et testez les requêtes, les imports et les connexions SIG dans un environnement distinct.
Interroger les relations géographiques avec SQL
Une fois les données chargées, PostGIS permet de mêler conditions attributaires et conditions spatiales. Les requêtes SQL classiques filtrent un statut, une date ou une catégorie. Les fonctions spatiales ajoutent des relations de position, de distance, de recouvrement ou d’intersection.
Des questions métier traduites en requêtes spatiales
Un service urbanisme peut rechercher les permis dont la géométrie se trouve dans un secteur réglementé. Un gestionnaire de réseau peut identifier les équipements proches d’un tronçon. Une collectivité peut croiser des zones inondables avec des bâtiments et ne retenir que ceux dont l’usage est sensible. Le résultat peut être une liste, une vue réutilisable par un SIG ou une nouvelle géométrie créée à partir d’une opération spatiale.
Pour conserver de bonnes performances sur des volumes importants, les colonnes géométriques doivent être indexées avec un index spatial adapté. L’index ne remplace pas une requête bien construite, mais il évite de comparer inutilement chaque objet à tous les autres. Il est aussi utile de limiter les colonnes retournées, de filtrer d’abord les attributs sélectifs et de vérifier que les objets comparés utilisent une référence spatiale cohérente.
Relier la base aux SIG, aux serveurs et aux applications web
PostGIS n’est pas un logiciel de dessin cartographique. Il sert au stockage et à l’analyse des données spatiales. QGIS peut se connecter à une base PostgreSQL/PostGIS pour afficher, éditer et styliser les couches. psql, DBeaver et pgAdmin 4 sont particulièrement utiles pour administrer les bases, exécuter des requêtes, inspecter les tables et gérer les rôles.
Pour diffuser les données, GeoServer, MapServer ou ArcServer peuvent s’appuyer sur la base spatiale afin de publier des services web cartographiques. Côté interface, OpenLayers et Leaflet peuvent afficher les données préparées par le serveur. Cette séparation clarifie l’architecture : PostGIS centralise et sécurise les données, le serveur cartographique les expose, et l’application présente une carte adaptée à l’utilisateur.
PostGIS face aux autres solutions spatiales
PostGIS se distingue par son intégration à PostgreSQL et par son écosystème open source autour des SIG et des services cartographiques. Oracle Spatial, SQL Server spatial, MySQL, DB2 et SpatiaLite répondent aussi à des besoins géographiques, mais le choix dépend de l’infrastructure existante, des compétences internes, des contraintes de licence, du mode de déploiement et des outils à connecter. SpatiaLite peut convenir à des usages embarqués ou légers, tandis que PostGIS est pertinent lorsqu’une base relationnelle centralisée, des rôles PostgreSQL et des traitements spatiaux avancés sont attendus.
Pour suivre les évolutions, les annonces de versions et les dépendances, consultez le site officiel et la documentation PostGIS. En pratique, commencez par une petite base, activez l’extension, importez une couche simple et testez une requête de sélection spatiale. Cette progression rend les concepts de SIG plus concrets et permet de vérifier chaque étape avant de charger davantage de données.
- Gestion de projet web : cadrer les changements pour tenir délais et budget - 17 octobre 2026
- PostGIS : 4 types spatiaux pour stocker et interroger vos données géographiques - 16 octobre 2026
- Fonction Python : définir, appeler et réutiliser du code sans confondre paramètres et arguments - 15 octobre 2026



![Python indexation : couleurs[0] à couleurs[-1], indice 0](https://geckogeek.fr/wp-content/uploads/2026/10/python-indexation-debut-a-zero-150x150.webp)