Réponse courte

Web Mercator (EPSG:3857) est la projection derrière presque tous les fonds de carte glissants — les tuiles Google, Bing, OpenStreetMap. Elle excelle dans une seule tâche : servir des tuiles carrées qui s'alignent à chaque niveau de zoom. C'est un mauvais choix pour la mesure, car c'est une projection cylindrique conforme dont le facteur d'échelle croît en 1/cos(latitude). Éloignez-vous de l'équateur et tout s'étire : à 45 deg de latitude, l'échelle linéaire vaut environ 1,41x, à 60 deg elle vaut 2x, à 70 deg environ 2,9x. L'aire, étant l'échelle au carré, est gonflée d'environ 2x à 45 deg, d'environ 4x à 60 deg et d'environ 8,5x à 70 deg.

Ainsi, une ligne de « 10 km » tracée et mesurée en EPSG:3857 à 60 deg nord fait en réalité environ 5 km au sol, et l'aire rapportée d'un polygone peut atteindre plusieurs fois sa taille réelle. Reprojetez les couches analytiques dans un SCR projeté adapté à votre tâche et à votre emprise avant de mesurer. Web Mercator sert aux tuiles, pas à dire le vrai.

Pourquoi la distorsion est intrinsèque

Mercator est conforme : elle préserve les angles et les formes localement, ce qui explique son aspect « correct » et l'attachement historique de la navigation à son égard (un cap au compas constant y est une ligne droite). Le prix de la conformité sur un cylindre est que la carte doit s'étirer nord–sud du même facteur qu'elle s'étire est–ouest, et ce facteur vaut sec(latitude) = 1/cos(latitude). Près des pôles, cos(latitude) tend vers 0, donc l'étirement tend vers l'infini — c'est pourquoi Web Mercator est tronqué à environ ±85,06 deg et pourquoi le Groenland paraît de la taille de l'Afrique.

Web Mercator ajoute un second péché : elle projette les latitude/longitude WGS84 ellipsoïdales comme si la Terre était une sphère. Ce raccourci « sphérique sur ellipsoïde » garde le calcul des tuiles simple mais introduit une erreur en nord qui croît avec la latitude (jusqu'à environ 20 km aux hautes latitudes par rapport à un véritable Mercator ellipsoïdal). EPSG a d'abord refusé de lui attribuer un code ; le désormais standard EPSG:3857 porte le nom officiel « WGS 84 / Pseudo-Mercator » précisément pour signaler qu'il ne s'agit pas d'une projection rigoureuse.

Conclusion : en EPSG:3857, un mètre carte n'égale pas un mètre au sol, le rapport change continûment avec la latitude, et s'y ajoute une approximation du modèle de datum. Rien de tout cela n'importe pour une tuile ; tout cela importe pour un tampon, une longueur ou une aire.

À quoi ressemble le « bon » choix

Choisissez le SCR projeté selon ce que vous mesurez et la taille de la zone :

  • Distance et tampons locaux (zone unique) : la zone UTM appropriée (EPSG:326xx / 327xx) ou une grille nationale — par exemple une zone State Plane (États-Unis), le British National Grid (EPSG:27700) ou un Lambert national. L'erreur d'échelle reste bien inférieure à 0,1 % sur la zone.
  • Comparaison d'aires sur une vaste région : une projection équivalente — une Albers Equal Area Conic pour un pays de moyenne latitude, une Lambert Azimutale Équivalente pour un continent (EPSG:3035 est le standard ETRS89-LAEA pour l'Europe). Les projections conformes comme Mercator et UTM ne sont pas équivalentes : ne les utilisez donc pas lorsque les aires relatives doivent être comparables.
  • Mesure géodésique sur l'ellipsoïde : lorsqu'un seul SCR planaire ne couvre pas l'emprise, mesurez géodésiquement (QGIS mesure géodésiquement par défaut ; type geography de PostGIS, ST_DistanceSphere ou ST_Area(geography)).

Exemple concret : la même ligne, de trois façons

Un segment de pipeline traverse le sud de la Norvège, stocké dans line.gpkg en EPSG:4326, centroïde proche de 60 deg N.

# FAUX : longueur planaire en Web Mercator
ogr2ogr -t_srs EPSG:3857 line_3857.gpkg line.gpkg
# mesurer la longueur planaire de cette géométrie surestime la longueur au sol d'environ 2x à 60 deg N

# CORRECT : reprojeter en zone UTM 32N (mètres) et mesurer là
ogr2ogr -t_srs EPSG:32632 line_32632.gpkg line.gpkg

Dans PostGIS, le contraste est explicite :

SELECT
  ST_Length(ST_Transform(geom, 3857))  AS len_webmerc_m,   -- gonflée
  ST_Length(ST_Transform(geom, 32632)) AS len_utm_m,       -- planaire correcte
  ST_Length(geom::geography)           AS len_geodesic_m;  -- ellipsoïdale correcte

À 60 deg de latitude, len_webmerc_m ressort à environ le double de len_utm_m et de len_geodesic_m, qui concordent étroitement entre elles. Ce facteur deux n'est pas un problème d'arrondi — c'est le facteur d'échelle 1/cos(60 deg) = 2 qui fait exactement ce pour quoi la projection est conçue.

Quelle est l'ampleur de l'erreur, par latitude

Comme le facteur d'échelle linéaire en Web Mercator vaut exactement sec(latitude), vous pouvez prédire l'erreur avant de mesurer. Le tableau ci-dessous donne l'échelle linéaire (appliquée aux distances) et l'échelle d'aire (son carré) par rapport au sol réel :

  • 0 deg (équateur) : linéaire 1,00, aire 1,00 — effectivement correct.
  • 23,5 deg (tropiques) : linéaire ~1,09, aire ~1,19 — ~9 % trop long, ~19 % surdimensionné.
  • 45 deg (moyenne latitude) : linéaire ~1,41, aire ~2,0 — distances surestimées d'environ 41 %, aires doublées.
  • 60 deg (par ex. Oslo, Anchorage) : linéaire 2,0, aire 4,0.
  • 70 deg (haut Arctique) : linéaire ~2,9, aire ~8,5.

Deux points supplémentaires : l'échelle varie à l'intérieur d'une même entité qui s'étend en latitude, donc une longue ligne nord–sud n'a aucun facteur de correction unique ; et l'approximation sphérique vs ellipsoïdale ajoute par-dessus son propre décalage en nord dépendant de la latitude. Il n'existe aucun « facteur fudge » constant applicable a posteriori — le seul correctif valable est de calculer d'emblée dans un SCR approprié.

La reprojection à la volée ne rend pas les données mesurables

La reprojection à la volée (SCR de projet QGIS, bloc de données ArcGIS) reprojette les couches pour l'affichage afin qu'elles se superposent correctement. Elle ne change pas le résultat analytique. Dans QGIS, l'outil de mesure et les expressions d'aire/longueur suivent les paramètres de mesure/ellipsoïde du projet, tandis que de nombreux algorithmes de traitement calculent dans le SCR de la couche. Donc si votre couche est en EPSG:3857 et qu'un outil mesure dans les unités de la couche, vous obtenez des valeurs gonflées, quelle que soit la qualité de l'alignement à l'écran. La méthode fiable consiste à reprojeter d'abord la couche dans un SCR métrique, à exécuter l'analyse, puis à reprojeter la sortie en 4326/3857 uniquement si vous en avez besoin pour l'affichage web.

Pièges courants et leurs causes

  • Mesurer en 3857 parce que le fond de carte est en 3857. Le SCR du fond de carte n'a aucune incidence sur l'analyse ; il est là pour rendre des tuiles. Ajoutez une couche de travail métrique et analysez dans celle-ci.
  • Utiliser 3857 pour des statistiques d'aire entre latitudes. Même de faibles plages de latitude biaisent les aires relatives, car l'échelle change continûment. Utilisez un SCR équivalent.
  • Supposer que l'UTM est « équivalent ». Il est conforme, parfait pour la distance au sein d'une zone, mais pas pour la comparaison d'aires entre régions. Faites correspondre la propriété de la projection à la métrique.
  • Confondre l'alignement à la volée avec l'exactitude analytique. L'alignement d'affichage et la validité de la mesure sont indépendants. Reprojetez les données, pas seulement la vue.
  • Ignorer le décalage sphérique vs ellipsoïdal. Les coordonnées passées en aller-retour 4326↔3857 portent l'approximation pseudo-Mercator ; ne traitez pas les nords 3857 comme étant de qualité topographique. Gardez la copie ellipsoïdale 4326 comme référence.

Contrôle qualité avant de faire confiance au résultat

  • Vérifiez que le SCR de chaque couche analytique est projeté et métrique (ogrinfo -al -so, Propriétés de la couche) avant de mesurer — des eastings/northings en mètres, pas en degrés, et pas en pseudo-Mercator.
  • Recoupez une mesure avec un calcul géodésique (mesure géodésique QGIS ou geography PostGIS) ; ils doivent concorder à une fraction de pour cent près pour une emprise locale.
  • Pour les aires, vérifiez que le SCR est équivalent si vous comparez des polygones à travers la région.
  • Remesurez une distance de contrôle connue ; dans un SCR correct elle correspond à la vérité terrain, en 3857 elle sera gonflée d'un facteur sec(latitude).
  • Documentez le SCR source, le SCR d'analyse et le SCR de sortie afin que la chaîne de mesure soit reproductible.

Le point de vue de Bathyl

Nous n'utilisons Web Mercator que comme couche de diffusion — le fond de carte sous un visualiseur publié — jamais comme le SCR dans lequel quoi que ce soit est mesuré. Chaque distance, tampon et aire d'un livrable Bathyl est calculé dans un SCR projeté explicite (et, pour le travail sur les aires, équivalent) consigné dans les métadonnées du projet, avec au moins un recoupement géodésique, afin qu'un relecteur puisse confirmer le chiffre plutôt que d'hériter d'une erreur sec(latitude).

Lectures associées

Sources