Field

What a machine does with it

A coordinate in a file is drawn on a screen and asked questions by programs that must decide what straight, near and how large mean before they can answer. Those decisions are geometric, and every one of them has a size.
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.

Screen · rung 1
What "1:136,495" means at each latitude, at zoom 12. A screen map at zoom 12 prints one scale for the whole world. The curve is how much larger in scale the map really is, measured from the projection's own derivatives rather than from a formula: at 60° it is 1.98 times, so the map labelled 1:136,495 is a 1:68,765 map. The hollow marks are sec φ, the textbook answer. They do not sit on the curve — the worst gap is 9949 parts per million at 85° — because Web Mercator puts a geodetic latitude into a spherical formula, and the same spherical Mercator measured the same way reproduces sec φ exactly.

The scale of a screen map is not one number

A zoom level prints one scale for the whole world, and the map is at that scale along exactly one line. At 60° north the picture labelled 1:136,495 is a 1:68,765 map — and the factor is not quite sec φ either, because the projection puts a geodetic latitude into a spherical formula.

Screen · rung 2
A 1,000 km bar on Mercator, drawn at 0° and read elsewhere. The same length of paper, carried up the map. Each pair of bars is the ground distance that length actually spans at that latitude — the filled bar along the parallel, the outline along the meridian. At 75° the reading along the parallel is 259 km against the 1,000 the bar claims, an error of 74 per cent. The two readings agree everywhere, because Mercator is conformal — so one number per latitude corrects any measurement taken off it.

A scale bar is right in one place

The bar in the corner of a world map is a picture of a distance, and it is a true picture along one line. On Mercator it reads 500 kilometres for a thousand at 60° north — and on an equal-area map it reads 500 one way and 2,000 the other, so the projection recommended for measuring is the one on which no single correction exists.

Screen · rung 2
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.

Screen · rung 3
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.

Screen · rung 3
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.

Screen · rung 4
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.

Screen · rung 5
53° north, 2° west: four places one pair of numbers could be. The same two numbers, read as three datums and as the pair in the other order. The centre is the WGS84 reading; the marks are where the ground is if the numbers were measured against OSGB36, ED50, NAD27 instead, at 103 m, 138 m, 195 m. Every one of those is a plausible position — near enough to look like a survey difference and far enough to be a different field. Reversing the two numbers instead moves the point 7942 kilometres, and is the mistake nobody worries about because it is usually obvious.

A coordinate without its system is not a location

The same two numbers name ground 103 metres apart on one datum, 195 on another, and 7,942 kilometres away if the pair is read in the other order. The datum errors are the dangerous ones because they are plausible — and the axis swap, which everyone calls obvious, does nothing at all along a line that crosses three continents.

Dataset · rung 1
"Within 0.01°" on the ground, at five latitudes. The same condition drawn at five latitudes, all at one scale. A degree of latitude is a fixed distance — 1106 metres here, varying by less than one per cent from equator to pole — while a degree of longitude collapses as cos φ, from 1113 metres to 289 at 75°. So the "circle" is an ellipse of 3.86:1 there, and it encloses 26 per cent of the ground the same condition covers on the equator. Even on the equator it is not round: M is smaller than N by the flattening, so the shape is 6694 parts per million shorter north–south than east–west.

A degree is not a unit of length

"Within 0.01 degrees" is a condition anybody can write and no instrument can measure. On the ground it is an ellipse — 1,106 metres north–south and 558 east–west at 60° — and even on the equator it is not a circle, because the meridian's radius of curvature is smaller than the parallel's by the flattening.

Dataset · rung 2
The area of one 20° × 10° cell at 50–60° north, seven ways. The cell has an exact area — R²Δλ(sin φ₂ − sin φ₁), 1,416,580 square kilometres — so every other row is a measurement of the method rather than of the ground. The equal-area projection returns it to 1.000000 and the spherical polygon formula to 1.000000, which is three routes agreeing — and the same cell integrated on the ELLIPSOID comes out 0.45 per cent away from all three, because the sphere is a model. Taking the shoelace in Mercator gives 3.06 times too much, and treating degrees as a length gives 1.75 times — about sec φ at the cell's middle, which is where that error comes from.

Computing an area needs a surface

A shoelace over a ring of coordinates returns a number whatever the coordinates are. For one twenty-by-ten-degree cell it returns 1.75 times the true area in degrees, 3.06 in a conformal plane, and exactly the closed form in an equal-area one — and the closed form itself is 0.45 per cent out, because the sphere is a model too.

Dataset · rung 2
A straight line stored in Web Mercator, and where it really goes. Two points 5570 kilometres apart, joined by a straight segment in the plane the file's coordinates are in. Drawn on that plane it is a straight line and looks like the route; on the ground it is the curve marked measured, and the geodesic between the same two endpoints is the other one. The profile below is the distance between them along the line, reaching 718 kilometres at 49 per cent of the way across. Nothing here is an error in the data: both endpoints are exact, and the whole of the discrepancy is the word straight.

A straight segment is a claim about a plane

Two exact endpoints, joined by a straight line in the plane the file is stored in. On the ground the line is 718 kilometres from the route it claims between New York and London, and 2,961 between London and Tokyo. The departure grows as the square of the length — fitted exponent 2.001 — so a stated tolerance costs vertices as a square root.

Dataset · rung 3
A 20° shape across the antimeridian, in the space where the numbers live. Longitude runs across the page from −180° to 180°, which is where the failure is: the shape is one rectangle on the ground and two pieces in the numbering, and every operation that treats longitude as a real number sees the two. The bounding box comes out 359° wide instead of 20°, the planar area comes out 17 times too large because the shoelace encloses the complement, and the midpoint of a segment from one edge to the other lands 20015 kilometres away — the antipode of where it belongs. The true area, from the closed form, is 4,920,667 square kilometres.

The antimeridian is a cut in the numbers

A twenty-degree box across 180° has a bounding box of 359.4°, a planar area seventeen times too large, and a midpoint 20,015 kilometres from where it belongs — which is the antipode, exactly. Moving the cut moves the failure and never removes it, because a circle cannot be numbered by an interval.

Dataset · rung 3
5 of 400 nearest-neighbour queries change answer in the plane. 40 sites and 400 queries over -20° to 40° east and 35° to 70° north, each query answered twice — once by geodesic distance and once by straight-line distance in the stored plane. They agree 98.8 per cent of the time, which is why the operation survives, and the 5 that differ are marked. The mechanism is not that the plane is wrong by a lot but that its scale factor varies: over this region it spans 139 per cent, and every disagreement is a contest closer than that — the worst margin measured is 6.4 per cent. The furthest a wrong answer is from the right one is 24 kilometres.

Nearest is a question about the metric

Asked in the plane the data is stored in, a nearest-neighbour query returns a different site for 5 of 400 queries over Europe on Web Mercator — and 103 of 400 on the plate carrée, with the wrong answer up to 309 kilometres further away. Every disagreement is a contest closer than the region's own scale spread, and over a city there are none.

Dataset · rung 4
A raster warped to Lambert azimuthal equal-area and back, nearest against bilinear. The left panel is the field the raster carries — a smooth analytic function, so that the error of an interpolation is the interpolation's error and not a photograph's history. The other panels are what is left after warping into Lambert azimuthal equal-area and back to Equirectangular, shown as the difference from the original at six times the contrast. Nothing moved: the coordinates go through the maps exactly. What is lost is that a target pixel's centre does not fall on a source pixel's centre, so a value has to be invented for it. Bilinear is closer to the field — RMS 0.0022 against 0.0212 — and has given up 0.63 per cent of its variance to get there. The panels are drawn at 48 by 32 cells; the measurement is made at the same resolution.

Reprojecting a raster invents values

Moving a picture from one projection to another moves no coordinate — the maps are exact both ways. What is lost is that a target cell's centre does not land on a source cell's centre, so a value has to be made up for it, and the making-up has an order of convergence: 1.00 for nearest, 1.98 for bilinear, 2.93 for a cubic, measured by refining the grid.

Dataset · rung 4
five planes a dataset might be stored in, scored on three operations. Each candidate measured over -10° to 30° east and 35° to 60° north: the worst areal error, the worst angular deformation, and the spread of the scale factor, which are what an area query, a shape and a distance respectively depend on. The best plane for areas is Gall–Peters, for shapes Lambert conformal conic, and for distances Lambert conformal conic — three different answers, and no fourth candidate would collapse them, because a projection exact in two of these columns has a = b = 1 everywhere and is the isometry Gauss's theorem forbids. area of a polygon costs 3.06× too large in the wrong plane; drawing a line between two points costs 194 km from the ground it claims.

The operation decides the coordinate system

Five candidate planes over one region, scored on the three things a spatial operation depends on. The conformal conic wins shape and distance and is 11.7 per cent out on area; the equal-area member is exact on area and 38.9° out on shape. No candidate is exact in two columns, and no candidate ever will be, because one that was would be an isometry.

Dataset · rung 5
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.

Screen · rung 2

A centroid belongs to a plane

Every renderer labels a region at its centroid, and every centroid is a shoelace over coordinates as stored — which is a statement about the plane they are in. Six planes put the middle of one 20° × 20° region up to 273 kilometres apart, the equal-area member is 66 kilometres out, and the disagreement falls as the square of the region's size.

Dataset · rung 3

Inside is a claim about the edges

Whether a point is inside a polygon is not a property of the point and the polygon. It is a property of the plane the edges were understood to be straight in, and between two readings of the same file there is a band of disagreement — 29 per cent of one triangle's area, 4.2 million square kilometres, and the file does not say which reading it means.

Dataset · rung 4

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.

Cells · rung 1

Hexagons cannot tile the sphere

Hexagons are the best cell shape a plane offers and the sphere will not take them. Euler's formula forces exactly twelve pentagons into any such tiling — twelve at 42 cells and twelve at 642, while the hexagon count rises twenty-one-fold — and each of the twelve is measurably smaller than the hexagons around it.

Cells · rung 2

A cell system trades area for shape

A grid can hold every cell to exactly the same area or hold every cell nearly square, and the measurement says it cannot do both: the equal-area cube's areas agree to a part in a thousand and its worst cell is 1.29 times as long as it is wide, while the tangent-warped cube holds shape to 1.19 and lets area vary by 20 per cent.

Cells · rung 3

A query is a disc, and a disc is not a cell

Everything a cell system does is an address lookup except the one question anybody actually asks it: find everything within five kilometres of here. That is a disc, and the number of cells it fetches is not its area divided by a cell's — at the radii a query is really made at, it is three to seventeen times that.

Cells · rung 4

The address is a curve through the sphere

A database does not fetch a set of cells, it reads ranges of identifiers — so the cost of a query is how many runs its cells form, not how many cells it needs. Hilbert order wins that measurement and loses the one usually quoted for it: its neighbouring cells are further apart in identifier than row-major's, on average and at worst.

Cells · rung 5

An edge has no order of convergence

On a smooth field the three resampling kernels converge at orders 1, 2 and 3 and the choice is obvious. Across a discontinuity they converge at 0.78, 0.58 and 0.60 — within a factor of 1.4 of each other, in an order that puts nearest-neighbour first, and a real raster is mostly edges.

Dataset · rung 5

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.

Screen · rung 6

One edge is not an edge

The three resampling kernels were measured across a discontinuity and came out at 0.78, 0.58 and 0.60 — one straight edge at 27° to the graticule. Across thirteen edges the same kernels span 0.19 to 0.87, the ranking between them reverses, and for an edge lying along a parallel the error does not fall with refinement at all.

Dataset · rung 6

A real edge has a width

Thirteen edges were measured and every one of them was exactly discontinuous, which no sensor has ever produced. Convolving them with a point-spread function of one degree — a cell or two — takes the three kernels from 0.78, 0.58 and 0.60 back to 1.23, 1.97 and 3.60, and takes the edge along a parallel, which converged at −1.49, up to 1.92 for bilinear and 3.73 for cubic.

Dataset · rung 7

The same data on two grids

Five essays have addressed, queried and ordered cells within one scheme and nobody has moved a number between two. Doing it exactly — area-weighted, both directions — preserves the total to 2 × 10⁻¹⁶ and loses 39 per cent of the field's own standard deviation in a single round trip; six round trips leave 23 per cent of its variance. The quantity that would reveal the damage is the one that never moves.

Cells · rung 6

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.

Screen · rung 7

Cells that are rectangles in no coordinate

The previous rung measured what moving a field between two cell schemes costs, and did it between two schemes whose cells are longitude–latitude rectangles — which is what made every overlap a rectangle with a closed-form area. The schemes anybody actually argues about have cells that are rectangles in no coordinate, and their overlaps have to be clipped.

Cells · rung 7

A line has a length only at a scale

Every measurement on this site so far has been of a curve given by a formula, sampled as finely as the picture needed. A map is not that: the geometry that reaches the page has been through an algorithm whose job is to throw most of it away. The first thing that goes is the idea that the line had a length.

Generalise · rung 1

Simplification does not commute with the projection

A pipeline either simplifies the geometry and then projects it, or projects it and then simplifies. Both orders are in use, neither is recorded, and given the same tolerance in ground metres they keep different vertices — 129 of them on the ground, 367 in degree space at 80°, and 459 on an equal-area page.

Generalise · rung 2

A tolerance is a promise about the picture

Douglas–Peucker guarantees exactly one thing: no vertex it discarded is further than ε from the line drawn in its place. It says nothing about the enclosed area, nothing about which side of the boundary a point ends up on, and nothing about whether the curve still fails to cross itself — and all three are what the geometry is usually being asked.

Generalise · rung 3

A polygon on a sphere has no outside

Seven essays have treated a stored ring as a boundary between inside and outside. A closed curve on a sphere divides it into two pieces and neither of them is the outside, so every polygon in every file depends on a convention that no coordinate carries — and the two conventions in common use disagree by a factor of fourteen on any ring that contains a pole.

Dataset · rung 8

The attribute is a claim about the geometry

Fourteen essays price what a stored coordinate means and not one asks what the number stored beside it means. A rate is a quantity divided by an area, the area belongs to the geometry, and no format records which area — so a simplification that moves the outline by nothing visible moves the implied total by 1.55 per cent, an unweighted average of densities is 4.09 per cent out, and a choropleth gives a polar square kilometre fifteen times the ink of an equatorial one.

Dataset · rung 9

The same number of cells, in two shapes

Moving a field between two cell schemes loses 18 per cent of it per cell in one geometry and 39 in another, and the earlier measurement could not say whether that was the shape of the cells or the ratio of their sizes, because changing the schemes changed both. Holding the counts settles it: the count ratio decides most of the loss, and the shape is still worth a quarter of the field.

Cells · rung 8

When the edges do not line up

Rung eight held the cell counts equal so that shape could be compared without the count ratio drowning it, and recorded a doubt: a longitude–latitude source shares its boundaries with a longitude–latitude target wherever their counts share a factor. The mechanism is real and worth a factor of two. It was not what the published number was made of.

Cells · rung 9

The road is drawn two pixels wide

Seven rungs measure what a screen map does to position. Nothing on a map is a point: every mark has a width, the width is chosen in pixels, and a two-pixel road covers 9.78 kilometres of ground at the equator and 1.70 at 80° north. That is a generalisation applied at a strength varying by a factor of six across one sheet, by a stylesheet with no latitude in it.

Screen · rung 8

A boundary that two features share

Three rungs simplify one curve and price what a tolerance covers. Almost no boundary in a real dataset belongs to one feature: a county's edge is the next county's edge, it is stored twice, and it is simplified twice. What opens between the two answers is a region belonging to both features or to neither, and its area is not bounded by the tolerance.

Generalise · rung 4

A thousand features are wrong in the same direction

The area a simplification costs is unpredictable in sign for one feature. Over a population it is not: twenty-four presentations of one shape all lose area, the mean is seventy standard errors below zero, and no amount of aggregation removes it.

Generalise · rung 5

How many features a scale can carry

Töpfer's radical law is quoted everywhere as a rule of thumb. It is not one: it is a theorem about a size distribution with a Pareto exponent of exactly one half, exact to 1.8 per cent for that population and out by 99.4 per cent for a lognormal one.

Generalise · rung 6

The answer depends on the cells it was counted in

Nine essays price the cell as a shape. The number reported out of it is priced nowhere: sliding a grid without changing its resolution moves the largest reported value by 12.6 per cent, which is more than halving the resolution costs.

Cells · rung 10

The renderer runs out of numbers before the zoom does

Eleven essays price the pyramid in exact arithmetic. The pipeline that draws it carries single precision, where a world coordinate near the antimeridian quantises to two metres — at every zoom, because the number does not get smaller when the pixel does. At zoom 22 that is fifty-four pixels.

Screen · rung 9

The query a fast path actually answers

Fifteen rungs price what a stored coordinate means and none asks what it is searched with. No index answers "within two hundred kilometres of here"; an index answers "inside this rectangle of stored coordinates", and the rectangle is built by somebody's arithmetic — which at 55° north silently drops a tenth of the true answer on a conformal projection and three fifths of it on an equal-area one.

Dataset · rung 10

A cell's children do not fit inside it

Ten rungs price one cell system at one resolution, and every one of them is used hierarchically. A hexagonal hierarchy does not nest: at the aperture-seven scheme the discrete global grids use, one fourteenth of a parent is covered by no child of its own, exactly, and each of the six ring children is eleven twelfths inside.

Cells · rung 11

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.

Screen · rung 10

Which features survive is not a sample

The rung below answers how many features a scale can carry and treats the population as a number. Which ones survive is a different question: keeping one feature in ten carries 99.99 per cent of the total length and inflates the median feature by a factor of 95, and the shape of the size distribution survives both exactly.

Generalise · rung 7

Two routes to one scale

A national series is cascaded — the million is derived from the quarter-million, which was derived from the fifty — and the folklore is that the errors accumulate. They do not: Douglas–Peucker and Visvalingam both cascade to the same line the direct route produces, bit for bit, because both output a sublevel set of a per-vertex number. What breaks it is anything else in the chain, and a moving average puts the product nine tolerances away.

Generalise · rung 8

A tolerance in map units is not a tolerance

A snapping tolerance is a number, and the number is in whatever units the file is in. Five map units on Web Mercator is 4.97 metres of ground at the equator and 0.87 at eighty degrees — so a rule that merges two features three metres apart merges them everywhere below 52.8° north and refuses everywhere above it, in one pass, over one dataset, with nothing recording where the boundary is.

Dataset · rung 11

The orientation is a policy

A polyhedral cell system has three free angles nobody scores. They cannot improve it: rotating the solid rotates every cell rigidly, so the distribution of cell areas is identical for every orientation there is. What they decide is who stands on the bad cells — and the eight cities measured here get a spread of cell area of 1.00 under the best turn and 1.50 under the worst.

Cells · rung 12

50 essays in this field, the first 16 of them shown with their opening figure.

All essays