Comprendre les systèmes de coordonnées

Latitude, longitude, datum, EPSG… Les bases indispensables pour ne plus jamais placer Paris au large du Gabon.

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éographiquesProjetées
UnitéDegrés (latitude, longitude)Mètres (X, Y ou Est, Nord)
SurfaceEllipsoïde (3D)Plan (2D)
ExempleWGS84 — EPSG:4326Lambert 93 — EPSG:2154
UsageÉchange, GPS, GeoJSONMesures, 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

  1. Toujours documenter le système de coordonnées d'une donnée (code EPSG).
  2. Échangez en WGS84, calculez en projeté (Lambert 93 en France).
  3. Méfiez-vous de l'ordre longitude/latitude selon les formats.
  4. 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.