Spring til indhold

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). Flere kodelister oversættes løbende.

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: [ … ] }

DAR-adresse og ejer hænger som felter PÅ ejendommen — som enrichment på selve property-recorden, aldrig som et selvstændigt adresse- eller CVR-opslag. Ejendommen er kernen; adresse og ejer er kontekst på den.

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 — den moat gratis Datafordeler strukturelt ikke kan matche.

Når et svar serveres fra mirroren under et upstream-udfald, bærer det headeren X-Grundfast-Stale: true, så du altid ved, om du ser friske eller cachede data. Følg oppetiden på live status & oppetid — det er den samme cache-mirror, der gør Grundfast til et Datafordeler-alternativ der bare virker.