Concept

Tile pyramid — where it appears

A map served as square images at doubling resolutions, each level an exact quartering of the one above it. Its levels are not independent: the same geometry is quantised to a different integer lattice at each of them, so its area is different at every level.

Named by 10 essays across one field — each of them below, with the objects they name alongside it.

The tile pyramid, four levels down to quadkey 120. The world as a square, quartered three times. Each level's tile is exactly half the width of its parent, so a tile is four tiles at the next level and never needs resampling to serve one — the property the whole scheme rests on, and one that holds only because the projected world is square. Level 3 has 64 tiles at 19567.9 metres per pixel, which at 51.5° north is 12181.3 metres of ground per pixel rather than the number the scheme publishes.

A screen map is a pyramid of tiles

The scheme every slippy map runs on is a coordinate system with three integers and one projection, and almost all of it is forced. A square world is what makes the quadtree work, the levels are exact powers of two, and the published resolution — 156,543 metres per pixel at zoom zero — is a distance on the ground at exactly one latitude.

applied · Screen
The cut at 85.0511°, and the alternatives that are not square. Mercator's northing runs to infinity at the pole, so a tiling has to stop somewhere, and the latitude is not a rounding: 85.0511° is where the northing equals half the world's width, which is the only cut that makes the projected world a square. The bars are what other cuts would give — at 89° the world is 1.51 times as tall as it is wide, and a single square root tile cannot cover it. The price is 0.373 per cent of the Earth's surface, 1,901,487 square kilometres in two caps, computed from 2πR²(1 − sin φ) rather than estimated.

The square costs the poles

The cut at 85.0511287798° is the most-quoted number in web mapping and is almost never derived. It is where Mercator's northing equals half the world's width — the condition for a square — and it drops 1,901,487 square kilometres. A two-tile root would have reached 89.786° and dropped 3,558.

applied · Screen
One pixel at zoom 11: 76.4 m projected, 47.6 m at 51.5°. The grid squares are pixels, at their own size. The open mark is the stored coordinate and the filled one is where it is drawn: rounding moves it 20.2 metres, against a worst case of 33.6 — half a pixel's diagonal, which is the whole of the bound. The second point sits 43 metres away, 0.58 of a pixel east and 0.70 north, so whether the two are drawn as one dot or two is decided by where the tile grid happens to fall: they merge for 12 per cent of the possible offsets, against the 12 per cent the two fractions predict.

The pixel is a place with a size

Drawing a coordinate rounds it to a pixel, which moves it by up to half a diagonal — 16.8 metres at zoom 12. Whether two points 43 metres apart appear as two dots is not a property of the data at all: they merge for 12 per cent of the positions the tile grid could take, and the closed form predicts 12.4.

applied · Screen
A feature across nine tiles at zoom 4, and the nine labels it gets. A rectangle from -10° to 30° east and 36° to 62° north, drawn in the projected plane with the tile boundaries over it. A renderer that draws each tile from the geometry inside that tile puts the label at the centroid of the piece, marked hollow; the whole feature's centroid is the filled mark. The furthest piece's label is 1863 kilometres from it. The pieces' areas sum to the whole to 2.2e-16 of a relative part, so the clipping is exact and the displacement is the operation rather than an error in it.

A tile is drawn without its neighbours

Independence is what makes the scheme scale: one request touches one square of the world. It also means a feature crossing nine tiles is nine features, each labelled at its own centroid — up to 1,863 kilometres from the whole one — and the displacement is bounded by the size of the feature rather than the size of a tile, so it grows as the reader zooms out.

applied · Screen
Two square worlds: Mercator's areas against an equal-area scheme's angles. Both projections give a world exactly as wide as it is tall, so either could carry a quadtree of square tiles. Mercator keeps every angle and inflates area by sec²φ — 132-fold at 85°. The cylindrical equal-area scheme whose world is square has standard parallels at ±55.65° — the solution of π cos²φ₀ = 1 — and keeps every area exactly, at a cost of nothing there and 145° of angular deformation at the edges. At the standard parallel itself Mercator's areal factor is 3.142, which is π, because the square-world condition and sec²φ are the same equation.

The pyramid did not have to be Mercator

The usual defence is that a quadtree needs a square world and Mercator supplies one. So does the cylindrical equal-area with standard parallels at ±55.654° — the solution of π cos²φ₀ = 1 — and it needs no polar cut at all. What Mercator actually buys is conformality, and the price of giving it up is 13.8° of shear at 60° north.

applied · Screen
The scale asked for and the scale the pyramid has, at 0°. A tiling scheme exists only at integer zoom levels, a factor of two apart in resolution, so a request for any scale between them is answered by the nearest rung. The ratio runs from 0.707 to 1.405 — 1/√2 to √2 — and repeats identically at every doubling, which is four times that in area. A request for 1:10,000 is served at zoom 16, which is 1:8,531; A request for 1:25,000 is served at zoom 14, which is 1:34,124; A request for 1:50,000 is served at zoom 13, which is 1:68,247. Nothing anywhere reports it, because the map that arrives is a perfectly good map of something.

Zoom is a ladder

A tiling scheme exists only at integer zoom levels a factor of two apart, so a request for 1:25,000 is answered with 1:34,124 — 36 per cent coarser, and 86 per cent coarser in area. The mismatch runs from 1/√2 to √2 and repeats identically at every doubling, and nothing anywhere reports it, because the map that arrives is a perfectly good map of something.

applied · Screen
The same address length, a tenth of the area. Every cell of a lon/lat quadtree at level 4 carries an identifier of the same length. The heavy curve is each cell's area as a fraction of the largest, against its latitude: a polar cell is 10.2 times smaller than an equatorial one. The light curve is the inverse of the cell's aspect ratio, which falls from 1.00 near the equator to 0.10 at the top — the cells stop being anything like square long before they stop being usable.

An address is an area

A cell identifier does not name a place, it names a region — so its precision is an area rather than a length. On the obvious lon/lat scheme that area varies by a factor of 10 at level 4 and 163 at level 8, and the factor doubles with every level: the same identifier length means less ground the further north it is used.

applied · Cells
Equal bands of screen, unequal bands of ground. A section through a camera pitched 60° from straight down, at the height that makes an untilted view exactly the flat map — 1152 pixels above the plane for a 768-pixel screen and a 36.87° field of view. The rays are drawn at equal spacings up the screen and the blocks below them are the ground each of those equal bands covers: 1.75 plane units per pixel at the bottom of the frame and 16.88 at the top, a factor of 9.7. Nothing about this is a projection of the sphere; it is a photograph of a map, and the map underneath it is still Web Mercator.

A tilted view has no zoom level

Every essay about the screen so far assumes the map lies flat on it, which was true until about 2015. Pitch the camera sixty degrees and one frame asks for 3.6 zoom levels at once, a square tile covers ground four and a half times deeper than it is wide, and the pyramid has one integer per tile to answer with.

applied · Screen
One unit of a vector tile, in metres of ground. A vector tile's coordinates are integers on a lattice 4096 units across the tile, and the tile halves at every level, so one unit is a distance that halves too: 5.48 m at z10 and 0.086 m at z16, at 55°. It is also a different distance at every latitude, by cos φ, because the tile is in Web Mercator — the same factor that makes a grid metre a different quantity of ground at every latitude, arriving in the file format rather than in the projection.

A vector tile has an integer grid

Six essays on this ladder treat a vector tile as the thing a raster tile is not: geometry, resolution-free, styled at draw time. Its coordinates are integers on a lattice 4,096 units across a tile, the tile halves at every level, and at 55° north one unit is 88 metres at zoom 6 and 21 millimetres at zoom 18.

applied · Screen
The same labels, placed once and placed per tile. 140 stated label boxes on a 1024-pixel page cut into 256-pixel tiles. The pale boxes are placed the same way by both rules. The dark ones are placed by the tiled renderer and suppressed by the global one — labels that should have lost a collision with something in the next tile and did not, because the tile that drew them could not see it. nine of them, against 104 labels the global rule keeps.

A label belongs to no tile

Nine rungs price the tile as a piece of geometry. A label is not geometry — it is a page object placed by collision against other page objects, and collision is a global relation while a tile is rendered alone. Cut a page into tiles and 10.3 per cent of the labels are placed differently; the buffer that closes the gap is half a tile at moderate density and a whole one when it is crowded.

applied · Screen

Named alongside it

The objects these essays reach for when they reach for this one.

VerificationWeb MercatorGround resolutionZoom levelConventionQuantisationScale factorToleranceLocalityPrecisionAnisotropyClipping

All concepts