OUTLINE—
Every node of the way, projected to metres east/north of the address and rounded to 10 cm. The only field that is always there — and it carries more than its shape, because floor area, longest edge and corner count are all read back off it.
HEIGHT—
height or building:height where they exist — feet and inches are understood — else building:levels × 3 m. Right, in order: measured · from storeys · nobody said. The third number counts only what the lidar below couldn't answer either; a flat 10 m default is no longer used for anything.
STOREYS—
building:levels. Puts the bands across a facade where the floors actually are instead of where an archetype guessed they'd be.
WHAT IT IS—
building=house, apartments, retail, office and twenty more — or, failing a useful value, what the place does: shop, craft, office, amenity, tourism, leisure, healthcare. Twelve archetypes come out the far end, each setting a storey height, a window rhythm and whether the ground floor is a shopfront.
MATERIAL—
building:material or material, collapsed to brick, concrete, stone, glass, metal, wood or siding. Worth about one step along the character ramp: glass reads lighter, stone heavier.
HOUSE NUMBER—
addr:housenumber — the one field that is dense on both sides of the Atlantic. Stencilled on the wall beside the door, and it overrules geometry outright when deciding which footprint is your address.
BUILT—
start_date, first four digits. Pre-1940 walls read a touch heavier, post-2000 a touch lighter. That is the whole of it.
NAME—
name, or failing that what the place does (shop, amenity, craft…). Stencilled on the fascia over the shopfront, in letters half again the size of a house number.
ROOF SHAPE—
roof:shape, collapsed to the six a character grid can build: flat, gable, hip, pyramid, skillion, dome. The single most useful tag nobody in America has ever typed — 180 of the 254 buildings around Marienplatz carry it and none at all in Dundee, so everywhere else the shape comes from the archetype instead. roof:orientation=across turns the ridge the other way, against the assumption that it follows the long side.
ROOF HEIGHT—
roof:height, or roof:levels at 2.4 m of rise each. OSM's height includes the roof, so a tagged rise comes out of the wall rather than being piled on top of it.
ROOF FACE—
roof:material (tile, slate, metal, thatch, glass, concrete, shingle) and roof:colour. Slate reads heavier than a metal deck; tile, slate and shingle are laid in visible courses.
WALL COLOUR—
building:colour, as names and as hex, converted to one number: how light it reads. That is the only thing a monochrome ramp can do with a colour, and it is the whole visible difference between a white block and the brick beside it.
LISTED—
heritage, historic, architect, building:architecture, wikidata. Any of them means a wall with more on it than render: heavier, and it keeps its cornice at any size.
ON STILTS—
min_height / building:min_level: an arcade, a podium, a block standing over open ground. The wall starts where the tag says and the shadow underneath is left open.
STREET—
addr:street — dense even in America (201 of 341 footprints in a Dundee block). Never sent to the browser and never drawn: it is compared against the road name the geocoder returned, so a repeated house number on the next street over can't steal your address.
ZONING—
Not a building tag at all: the landuse and leisure polygon each footprint stands in, smallest one wins. A 110 m² footprint in landuse=residential is a house; the same footprint in landuse=retail is a shop. Mapped densely in Europe and, in the block this was built against, not at all.
OpenStreetMap knows how tall almost nothing in America is — not one building in the Dundee block this was built against. FEMA's USA Structures knows, because it was measured with a laser: every structure in the country, free and keyless. Asked only when the geocoder says you are in the US, alongside the map and the weather, and matched to the outlines by which footprint each record's point falls inside.
LIDAR HEIGHT—
HEIGHT, metres, off airborne lidar — a real measurement of the building you are standing in front of, roof included. Where OSM already carried a height, OSM wins: somebody stood there and typed it.
WHAT IT'S FOR—
OCC_CLS and PRIM_OCC: Single Family Dwelling, Multi‑Family Dwelling, Retail Trade, Religious, Education… 268 of the 337 structures in that Dundee radius are single‑family homes, and OSM says building=yes to every one of them.
ARCHETYPE—
When neither OSM nor FEMA says what a building is, its outline does: floor area, proportions, corner count, whether it touches its neighbours and whether it has a house number pick between shed, house, terrace, retail, industrial, apartments, civic, office and commercial. Under 42 m² it is a garage, which is most of what stands in an alley. Before the lidar this was nearly every building on an American block; it is now the ones that fall between the two surveys.
HOW TALL—
An untagged height is not evidence and is no longer treated as any: it used to arrive as a flat ten metres, which put 339 of the 341 footprints round a Dundee street into the same archetype at the same height — a whole neighbourhood of houses and garages drawn as one repeated three-storey block. Now the storeys come from the archetype and the footprint, and a house gets one, one-and-a-half or two of them. A measured height — from OSM or from lidar — runs to the top of the roof, so the pitch comes out of it rather than being piled on top: 7.3 m of house is 4.6 m of wall under 2.7 m of gable.
THE NEIGHBOURS—
Better than any guess where it exists: the median height of the measured buildings within 80 m, scaled a little by how this footprint compares with theirs. Three of them is the smallest number that counts as evidence rather than an anecdote — two tagged buildings were otherwise enough to lift twenty-one neighbours into blocks of flats.
ROOF FORM—
A box with a level top is an office, which is why every building on this page used to look like one. Failing a roof:shape, the archetype picks: houses are gabled or hipped, sheds are gabled or lean-to, churches are hipped or pyramidal, towers are flat. The pitch comes off the building's own width and the ridge runs along its longest edge — and the outline is found in screen space, so a slope comes out as / and \ and a ridge as a line.
WINDOWSall
A hash of the footprint's own first corner draws the window pitch, width, sill height and phase, plus a nudge to how heavy the wall reads. Stable, so a building looks the same every visit — and uncorrelated, so it never looks like the one next door.
THE FRONTall
Each wall is probed a few metres out on both sides against the ground raster; whichever one has pavement in front of it gets the door and the house number. A wall with nothing walkable near it — a courtyard, a shed at the back of a lot — is left without a door rather than given an invented one.
YOUR ADDRESS—
Distance from the geocoded point to each footprint's outline, inside 30 m — centroids hand the address to whichever shed happens to be small and near. A matching house number wins outright.
CONDITION—
weather_code, a WMO number collapsed to eleven words. It is what decides whether anything is falling at all, even when too little has accumulated to measure.
CLOUD—
cloud_cover, per cent. Density of the cloud field on a plane 900 m up, seen in perspective so it crowds towards the horizon.
FALLING—
precipitation in millimetres over the last quarter hour — 0.5 mm at that cadence is a downpour — and snowfall, which only has to answer whether what's coming down is soft or hard. Together they set how many ground cells carry a drop.
WIND—
wind_speed_10m in km/h and wind_direction_10m in degrees the wind blows from. Leans every drop and drifts the cloud downwind.
VISIBILITY—
visibility, metres. Caps how far the view carries, which is the whole difference between a clear day and a fogbank.
TEMPERATURE—
temperature_2m. Printed above and nowhere else — nothing on screen gets colder.
CLOCK—
timezone and utc_offset_seconds, so TIME OF DAY is the clock at the address rather than the one on your wall.
THE SUNcomputed
Not fetched from anywhere: altitude and azimuth worked out from latitude, longitude and that clock. It lights every wall, sets the dusk and eventually turns the lamps on. Open-Meteo's is_day comes back in the same payload and is thrown away — a boolean can't tell you it's half past seven.
GROUND—
/v1/elevation: a 10×10 grid of Copernicus DEM samples (~90 m resolution) in exactly one request, held relative to your address and sampled bilinearly between. Right is how much the ground moves across the loaded square. A building's roof sits at the lowest ground it touches plus its height — which is how the height was measured — so a slope makes its downhill wall taller without making the building taller.
apparent_temperature and relative_humidity_2m arrive in the same call and go unread. Terrain is cached for a month, weather for ten minutes, and both fail to null — a flat world under a clear sky, which is exactly what this page was before they existed.