Un SRID (Spatial Reference Identifier) est un code entier qui indique à une base de données spatiale ou à un SIG quel système de coordonnées de référence (SCR) une géométrie utilise. Il relie les valeurs numériques brutes des coordonnées à un datum, un ellipsoïde et une projection définis, afin que les distances, les superpositions et les transformations soient calculées correctement.
Pourquoi c'est important
Dans une base de données comme PostGIS, une géométrie n'est qu'une liste de nombres tant que l'on ne sait pas ce que ces nombres signifient. Le SRID apporte ce sens. Si deux couches portent des SRID différents, les fonctions spatiales refuseront de les traiter ensemble (ou, pire, donneront silencieusement un résultat absurde si le SRID est fixé à 0 / inconnu). Définir le bon SRID est donc un prérequis pour des jointures spatiales, des zones tampons et des calculs de surface ou de distance fiables.
Un exemple concret
En pratique, les SRID correspondent presque toujours au code EPSG correspondant : le SRID 4326 est WGS84 géographique (latitude/longitude en degrés), et le SRID 3857 est le Web Mercator (mètres, utilisé par les fonds de carte web). Dans PostGIS, vous pourriez écrire :
SELECT ST_Area(ST_Transform(geom, 3857))
FROM parcels
WHERE ST_SRID(geom) = 4326;
Ici, ST_SRID indique l'identifiant stocké, et ST_Transform reprojette vers un autre SRID pour un calcul de surface en mètres.
Piège courant
Une erreur fréquente consiste à confondre ST_SetSRID avec ST_Transform. ST_SetSRID se contente de réétiqueter le SRID d'une géométrie sans déplacer aucune coordonnée — utilisez-le pour corriger les métadonnées lorsque les nombres sont déjà dans le bon système. ST_Transform, lui, recalcule réellement les coordonnées dans un nouveau SCR. Utiliser le premier alors qu'il fallait le second laisse les entités au mauvais endroit sur la carte.