Map ground resolution and scale
Meters per pixel and map scale for a Web Mercator zoom level at a latitude, for 256 or 512 pixel tiles.
Each pixel covers 29.08 m, a scale of about 1 to 109,900.
- Scale at 96 dpi
Provenance
- Computed by
- indexing.tile.ground-resolution 1.0.0, core 0.1.0
- Model
- cos(lat) × 2π × 6,378,137 m / (tile size × 2^zoom); scale = resolution × 96 / 0.0254
- Accuracy
- Exact on the Web Mercator sphere
- Notes
- None
- Cites
- Microsoft, Bing Maps Tile System; OpenStreetMap Wiki, Slippy map tilenames
Something look off?
How we got thisFormula, worked example, sources, and proof
Model: cos(lat) × 2π × 6,378,137 m / (tile size × 2^zoom); scale = resolution × 96 / 0.0254
Accuracy: Exact on the Web Mercator sphere
When to use this: Use this when choosing a zoom level: the meters each pixel covers and the map scale at a latitude, for 256 or 512 pixel tiles. It is what connects a required ground resolution, a print scale, or a source imagery resolution to the zoom a map should serve. It is also how to check whether a tileset can support a measurement: if a pixel covers two meters, nothing read from it is good to half a meter.
Limitations: Resolution in Web Mercator changes with the cosine of the latitude, so a zoom that gives half a meter per pixel at the equator gives much less at sixty degrees. Scale also depends on the display's pixel density, and the number here describes the projection rather than the detail actually present in any particular tileset. The map scale it reports assumes a nominal screen pixel size, so a print or a high-density display works out differently.
Worked example: 40.446° at zoom 12, 256 px. Source: add-spatial-indexing-and-raster scenario: about 29.08 m/px.
You enter
- Latitude
- 40.446111 deg
- Zoom
- 12
You get
- Ground resolution (per pixel)
- 29.08 m
- Scale at 96 dpi
- 109,900
Review: Not yet independently reviewed by a GIS professional.
Last verified: 2026-09-18, when a maintainer last confirmed this tool's sources at the issuer. See the sources ledger.
Status: version 1.0.0, core 0.1.0. See this tool in the verification report.
Changes
- 2026-09-19, changed: Every indexing tool is now stable. Geohash decode and neighbors match pygeohash on 1,000 and 500 cases; the Plus Code tools pass every row of the Open Location Code test data; tile ground resolution matches the Bing Maps table; the H3 resolution chooser matches H3's resolution table; and H3 polygon fill gives H3 C's own test counts (1,253 cells, 1,214 with a hole). Results are unchanged apart from the fix below. Changelog
Checked against: 30 golden test vectors (download the test vectors, each with its source and tolerance). See how results are checked and every source.
Sources
- Bing Maps Tile System, Microsoft, Online documentation. Tile coordinates and quadkeys; ground resolution = cos(lat) × 2π × 6,378,137 / (256 × 2^level).
- Slippy map tilenames, OpenStreetMap Wiki, Current wiki page. Lon./lat. to tile numbers, tile numbers to lon./lat., resolution and scale.
Learn the concept: Map tiles, zoom levels, and quadkeys explained