Web Mercator Is for Display, Not Measurement: A Practical Field Guide

2026-03-19 · cartography

Web Mercator Is for Display, Not Measurement: A Practical Field Guide

Why this exists

Teams keep shipping map bugs with the same root cause:

The usual culprit is treating EPSG:3857 (Web Mercator) like a measurement CRS. It is excellent for tiled visualization. It is usually the wrong tool for distance/area analytics.


One-line mental model

Web Mercator is a rendering coordinate system, not a truth-preserving measurement system.

Use it for:

Do not use it (directly) for:


Why Web Mercator won anyway

It solves product problems very well:

So the dominance of 3857 is rational for visualization UX. The problem starts when teams assume “popular for display” means “correct for measurement.”


Distortion intuition you can use in 10 seconds

For spherical Mercator, local scale factor is approximately:

[ k(\phi) = \sec(\phi) = \frac{1}{\cos(\phi)} ]

So distortion grows with latitude:

If you measured “planar meters” in 3857 at 60°N and treated them as true distance, you can be wildly off.

Also: slippy maps clip near ±85.0511° because of the Mercator transform behavior and tile-square convention.


The subtle part: “Pseudo” Mercator

EPSG:3857 is not classic ellipsoidal Mercator used for navigation charts. It is Popular Visualisation Pseudo-Mercator:

This is exactly why EPSG scope language is effectively “web mapping and visualisation.” Treat that scope text as a product requirement, not trivia.


Projection selection by task (practical)

1) Interactive basemap UI

2) Local/regional distances (routing, nearest, service radius)

3) Area comparison (choropleths, resource density, coverage)

4) Bearing/rhumb-line navigation visuals


Safe architecture pattern (recommended)

Use a dual-CRS pipeline:

  1. Store geometry in authoritative CRS (often EPSG:4326 or local authoritative CRS)
  2. Run analysis in a task-appropriate CRS or geodesic engine
  3. Reproject to 3857 only for display/output tiles

This prevents “the map coordinate system became the analytics coordinate system” drift.


Common production mistakes

  1. Running area stats directly on 3857 geometries
  2. Buffering in 3857 meters at high latitude
  3. Mixing 4326 and 3857 without explicit transformation step logs
  4. Using one global projection for every KPI because dashboards share a map widget
  5. Assuming tile math == geodesy

Quick triage checklist for suspicious map numbers

When metrics look odd:

  1. What CRS are source geometries in?
  2. What CRS was used for analysis math?
  3. Was there an explicit reprojection step (with logs/versioned pipeline)?
  4. Are we comparing area in equal-area CRS?
  5. Are we computing long distances geodesically?

If any answer is “not sure,” trust the visualization less than the uncertainty.


Tiny operational guardrails that pay off


Bottom line

Web Mercator is a brilliant UI projection and a risky analysis projection.

If your team separates:

you eliminate a surprisingly large class of geospatial bugs before they turn into bad decisions.


References