Building height above ground and estimated storeys from the national surface model
building_height11 fieldsNot in the demo
Available with: bought bundle or agreed plan (all fields) · Pricing
What this does not say
Quoted verbatim from the section’s warnings field, exactly as the API returns it. They are not translated: a translation would show something other than what your response actually contains.
- Estimate, not a measured or registered building height and not the storey count in Matrikkelen: the laser-scanned surface minus the terrain inside the footprint, from Kartverket's national elevation model, whose scan year varies by area. A building built, extended or demolished after the scan is not as it stands.
- Method dom-dtm-height-v1. The footprint is rasterised on the 1 m grid and eroded by one cell so walls and eaves mixing with ground do not count; at least 4 cells are needed. height_p95_m is near the ridge (a chimney or antenna does not move it), height_median_m the typical roof height. estimated_storeys = round(height_median_m / 3 m), at least 1: 3 m per storey is a common floor-to-floor allowance, and a pitched roof's median lies between eaves and ridge, so loft storeys count only under a high roof. Null when the median is under 2 m (no building in the surface model).
- matrikkel_storeys is the storey count registered in Matrikkelen, shown for comparison; null when not registered. footprint_source 'osm' is an OpenStreetMap outline matched to the Matrikkel building number (ODbL, © OpenStreetMap contributors); 'roof_blob' is the roof shape detected under the Matrikkel building point when no outline is held; 'address_point' means neither was found and every figure is null. FKB building outlines are not used.
- Licence: Kartverket høydedata CC BY 4.0, attribution Kartverket.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
Fields
3 of 11 fields are value fields — the ones that decide whether a record actually says anything. The rest are context: identifiers, codes and timestamps.
| Field | Type | Role |
|---|---|---|
| height_p95_m | number | null | value |
| height_median_m | number | null | value |
| estimated_storeys | integer | null | value |
| matrikkel_storeys | integer | null | context |
| footprint_source | string | null | context |
| footprint_cells | integer | null | context |
| method | string | null | context |
| method_version | string | null | context |
| inputs | object | null | context |
| validation | array<object> | null | context |
| computed_at | string | null | context |
Fetch this section
Send the key in the X-API-Key header. The section can be fetched with the rest of the address, or on its own with pagination.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643?include=building_height' # paginated, one section at a time curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643/sections/building_height?limit=25'
Why it cannot be tried here
This section is not part of the public demo projection. That is a licensing and privacy decision, not a sign the data is missing: it is served to customers granted the section.