BBR — bygninger & enheder

BBR (Bygnings- og Boligregistret) er Register #1. Det nye Datafordeler-backend leverer BBR som en entitets-baseret 1:1-dump: rå koder, FK-strenge, bitemporale snapshots og koordinater i EPSG:25832. Grundfast laver fire transformationer, så du får den bekvemme gamle form tilbage.

1 · Oversatte kodefelter

BBR-felter som anvendelse, materialer og varme leveres som rå koder. Grundfast mapper hver kode til læsbar dansk tekst og returnerer begge dele i et { kode, tekst }-envelope. De 7 kodelister, der oversættes ved launch:

bygningsanvendelse

BBR byg021 — bygningens anvendelse.

120 → Fritliggende enfamiliehus
enhedsanvendelse

Enhedens anvendelse (bolig/erhverv).

120 → Fritliggende enfamiliehus
varmeinstallation

BBR byg056 — opvarmningsform.

1 → Fjernvarme/blokvarme
opvarmningsmiddel

BBR byg057 — primært brændsel.

7 → Naturgas
supplerendevarme

BBR byg058 — supplerende varme.

1 → Varmepumpe
ydervaeg

BBR byg032 — ydervæggens materiale.

1 → Mursten
tagdaekning

BBR byg033 — tagdækningsmateriale.

5 → Tegl

Hver liste kan også hentes direkte: GET /v1/kodeliste/:navn (åbent endpoint, ingen nøgle).

2 · Reprojicering EPSG:25832 → WGS84

BBR-koordinater er i ETRS89 / UTM zone 32N (EPSG:25832), fx POINT (574763 6224287). Grundfast reprojicerer til WGS84 (EPSG:4326) og returnerer GeoJSON-konforme [lon, lat]-koordinater — direkte brugbare i kort, Leaflet og MapLibre uden et eget projektionslag.

3 · Current-only (bitemporal støj fjernet)

Det nye backend er bitemporalt: hver entitet bærer registrerings- og virkningstid og kan have flere historiske versioner. Grundfast filtrerer til den aktuelle, gældende version — så du får den bygning, der står der nu, ikke en tidsserie du selv skal sortere. Historik/bitemporal adgang er en Scale-funktion.

4 · Auto-paginering & join

GraphQL-backendet returnerer connections med cursors og pageInfo. Grundfast følger siderne for dig og joiner hele grafen — BFE → grund → bygning → enhed — plus ejerlavsnavn fra Matriklen. Ét kald på et BFE giver hele ejendommen samlet:

GET /v1/bbr/ejendom/5651067
→ { type: "ejendom", bfe_nummer, jordstykke, bygninger: [ … ] }

5 · Datafordeler-nedetid → cache-mirror

Datafordeler kører historisk ~90% oppetid med periodiske 401-flaps. Grundfast retry’er med backoff og serverer fra en cachet SLA-mirror, så et upstream-udfald ikke vælter din integration. Det er kernen i Migration + Maintenance Insurance: et stabilt API oven på et ustabilt.