Concept

Address — where it appears

A cell's identifier, whose precision is the area of the cell rather than a number of digits, and whose ordering decides what a query costs. It is the reason a cell scheme's ordering matters as much as its shape: a scheme whose addresses share prefixes turns a coarse query into one range scan.

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

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
A 6° query against a cube scheme, and the cells it fetches. The cells of a tangent-warped cube scheme at level 5, with the 29 cells a query of 6° radius touches shaded. The disc's own area is 16.84 cells; the count is 29, because every cell the disc's boundary crosses is fetched as well as every cell inside it. In Hilbert order those cells form six contiguous ranges of identifiers, which is six range scans, and the span from the lowest to the highest covers 91 cells against the 29 wanted. Drawn in Mollweide, with the mesh shown only near the query.

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.

applied · Cells
Hilbert order on one face, as a curve. The order in which Hilbert numbering visits the 64 cells of one cube face at level 3. The line never leaves a cell without entering one that shares an edge with it — that is what makes it a space-filling curve, and it is why two cells with nearby identifiers are usually near each other on the ground.

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.

applied · Cells
One field, one round trip between two cell schemes. Left: a stated field binned into an equal-angle grid of 36 by 18 cells. Right: the same field after being rebinned into an equal-area grid of 30 by 15 offset by six degrees of longitude, and rebinned back. Every step is exact area-weighted averaging, the total is preserved to 2 × 10⁻¹⁶, and the root-mean-square difference between the two pictures is 0.144 on a field whose own standard deviation is 0.370.

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.

applied · Cells

Named alongside it

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

AggregationCellDiscrete global gridLocalityAnisotropyHierarchyToleranceTrade-offBufferClosed formConservationCoverage

All concepts