Une coordonnée seule ne veut rien dire. (652000, 6862000) désigne un point précis à Paris… à condition de savoir qu'il s'agit de Lambert 93. Lu comme des degrés, ce même couple n'a aucun sens. Ce tutoriel pose les bases qui évitent 90 % des erreurs en cartographie.
La Terre n'est pas une sphère
Pour localiser un point, il faut d'abord un modèle de la Terre. Celle-ci est légèrement aplatie aux pôles (environ 21 km de différence entre rayon équatorial et polaire). On l'approche donc par un ellipsoïde, défini par son demi-grand axe et son aplatissement.
- GRS80 — utilisé par RGF93 (France) et ETRS89 (Europe).
- WGS84 — utilisé par le GPS, quasi identique à GRS80 (écart de 0,1 mm sur le petit axe).
- Clarke 1880 IGN — l'ancien ellipsoïde du système français NTF.
Un datum (ou système géodésique) combine un ellipsoïde et la façon dont il est « posé » sur la Terre réelle. Deux datums différents peuvent donner jusqu'à plusieurs centaines de mètres d'écart pour un même point.
Coordonnées géographiques vs projetées
Il existe deux grandes familles de coordonnées :
| Géographiques | Projetées | |
|---|---|---|
| Unité | Degrés (latitude, longitude) | Mètres (X, Y ou Est, Nord) |
| Surface | Ellipsoïde (3D) | Plan (2D) |
| Exemple | WGS84 — EPSG:4326 | Lambert 93 — EPSG:2154 |
| Usage | Échange, GPS, GeoJSON | Mesures, analyses, cartes imprimées |
Piège classique : l'ordre des axes. La norme EPSG:4326 dit « latitude, longitude », mais GeoJSON, WKT et la plupart des logiciels attendent « longitude, latitude » (X puis Y). Si vos points se retrouvent dans l'océan Indien, inversez !
Les codes EPSG
Pour ne pas réécrire à chaque fois toutes les définitions, on utilise des identifiants du registre EPSG. Ceux à connaître par cœur pour travailler en France :
EPSG:4326— WGS84 en degrés, le format d'échange universel.EPSG:3857— Web Mercator, utilisé par toutes les cartes web (Google, OSM…).EPSG:2154— RGF93 / Lambert 93, projection légale en métropole.EPSG:3942àEPSG:3950— Coniques conformes CC42 à CC50, pour les travaux de précision.EPSG:32630/31/32— UTM zones 30, 31 et 32 Nord.
Convertir des coordonnées
La transformation d'un système à l'autre passe généralement par trois étapes : déprojection vers les coordonnées géographiques, changement de datum éventuel, puis projection dans le système cible. En pratique, une bibliothèque s'en charge :
// Avec proj4js
proj4.defs('EPSG:2154', '+proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m +no_defs');
const [x, y] = proj4('EPSG:4326', 'EPSG:2154', [2.2945, 48.8584]);
console.log(x.toFixed(1), y.toFixed(1)); // ≈ 648237 6862271
# En ligne de commande avec GDAL/PROJ
echo "2.2945 48.8584" | cs2cs EPSG:4326 EPSG:2154 -d 2
Vous pouvez aussi utiliser directement notre convertisseur de coordonnées.
Degrés décimaux et DMS
Une latitude peut s'écrire en degrés décimaux (48.8584) ou en degrés-minutes-secondes (48°51′30″ N). La conversion est simple :
décimal = degrés + minutes / 60 + secondes / 3600
48°51′30″ = 48 + 51/60 + 30/3600 = 48.858333°
Ordre de grandeur utile : 1° de latitude ≈ 111 km. La 5e décimale (0,00001°) correspond à environ 1,1 m, la 6e à 11 cm. Inutile de stocker 12 décimales !
À retenir
- Toujours documenter le système de coordonnées d'une donnée (code EPSG).
- Échangez en WGS84, calculez en projeté (Lambert 93 en France).
- Méfiez-vous de l'ordre longitude/latitude selon les formats.
- Ne confondez pas « reprojeter » (transformer les coordonnées) et « définir la projection » (déclarer celle déjà utilisée).
Démonstration
Un même point exprimé dans tous les systèmes de ce tutoriel, calculé en direct avec proj4js :
À essayer : faites glisser le repère (ou cliquez sur la carte) et regardez les coordonnées changer. Comparez Lambert 93 et la conique CC de la zone : mêmes mètres, origines différentes. Allez vers Strasbourg : la zone UTM passe de 31 à 32.