# How an open register locates a building

National registers publish where each building stands, and some say what it is for. Which carry what, how grids are projected, what location_source means.

Date: 2026-09-16

An address that a national register carries can be placed on the map by the register itself. Since 16 September 2026 the premise index Spaw compiles from each register keeps, beside every building's key, what the register publishes about it: where it stands, and where the register says so, what it is used for and how many flats or suites it holds. A `premise` match now answers coordinates from the building rather than from the postcode, and two new fields, `building_use` and `is_multi_unit`, say what the register declares.

## What location_source tells you

`latitude` and `longitude` were always there; `location_source` says what they describe. `register` means the register located the building and the coordinates are its. `postcode_centroid` means no register located it, and the coordinates are the centre of the postcode from the national postcode directory — which for a large rural postcode can be kilometres from the door. `null` means neither was available.

The difference matters in any use that measures distance. The cross-signal consistency check reports the distance between an IP's location and the address as evidence; with a register position that distance is about the building, with a centroid it is about the postcode. The field says which.

## Which registers carry what

Every register publishes a position for the buildings it lists. Use and units are rarer, and the answer never infers them from the address text.

| Register | Position | Building use | Units |
| --- | --- | --- | --- |
| United States, National Address Database | yes | where the contributing authority filled its address type in | the register's unit rows |
| France, Base Adresse Nationale | yes | — | — |
| Switzerland, building register | yes | residential, mixed, other from the building category | — |
| Austria, address register | yes | from the building attributes | dwellings counted per building |
| Czechia, RÚIAN address points | yes | — | — |
| Norway, Matrikkelen | yes | — | — |
| Belgium, BeST (three regions) | yes | — | box numbers |
| Luxembourg, national addresses | yes | — | — |
| Australia, G-NAF | yes | — | flat numbers |
| Latvia, State Address Register | yes | — | — |
| Denmark, Danmarks Adresser | yes | — | floor and door |

Great Britain's Open Names is a register of streets and locates none of them as buildings, which is why a British `premise` match does not occur and a British answer's coordinates stay the postcode centroid.

## How is_multi_unit is decided

`is_multi_unit` is `true` when the register lists two or more flats, suites or dwellings at the building. It is `false` only when the register declares the units at each building and lists none — on 16 September 2026 only the Austrian register counts dwellings per building, so only Austria answers `false`. Everywhere else a building with no unit rows answers `null`, because a register that carries no units has said nothing about the building's shape, and the American database in particular lists units for a minority of its rows and for none in whole states. A register that lists exactly one unit row answers `null` too: one row is not a count.

`building_use` follows the same rule. It is one of `residential`, `commercial`, `mixed`, `industrial`, `institutional`, `agricultural` or `other`, read from the register's own category codes, and `null` wherever the register publishes no category. It is not the licensed residential delivery indicator: `is_residential` is the postal service's answer about the delivery point and stays `null` until a partner is enabled.

## How the coordinates are projected

Registers publish positions in their national grids, not in latitude and longitude, and each has to be converted. The Swiss register uses LV95, the Austrian one three Gauss-Krüger zones on the MGI datum, the Czech one the Křovák projection of S-JTSK, the Norwegian one UTM zone 33, and the British Code-Point Open the OSGB36 National Grid. Each conversion was checked against proj4js on 16 September 2026: the transverse Mercator and Helmert paths agree with it to between 0.02 and 0.06 metres, and the Swiss approximate formula to between 0.4 and 2.3 metres, the larger figure at Geneva on the edge of the country. The index stores each position to about 1.2 metres.

Known buildings were then looked up after the registers were recompiled. The Federal Palace in Bern, Oslo City Hall and the Storting each answered within about twenty metres of a reference position taken from memory; the residuals in those checks say more about the reference than about the maths. Recompiling the four European registers grew each premise index from eight to fifteen bytes a key — the Swiss one from 25.8 to 48.1 megabytes — which is what a building's position costs.

## What a centroid is good for

The postcode centroid is not the building, and the answer never claims it is. It is good for the questions a postcode can answer: which town, which region, roughly how far from an IP's location, whether a written state agrees with the code. For anything that needs the door — a route, a geofence, a distance to a branch — read `location_source` first and use the coordinates only when it says `register`.

Reference: https://spaw.co/guides/how-an-open-register-locates-a-building
