Spring til indhold

Grundfast
DHM · Danmarks Højdemodel

Terrænet og alt, der står på det — målt, ikke gættet

Terræn og overflade i et punkt, koter til situationsplanen, faldet langs en linje og den målte højde på hver bygning på en ejendom. Meter over DVR90, med opløsning og usikkerhed i svaret.

Ortofoto © Klimadatastyrelsen · via Grundfast

Vestervangen 1, 8620 Kjellerup

Terræn og højder · DHM

svarede efter 2 ms

Højeste del 2,8 m over terræn · terræn 63,8 m o.h.

Målt fra overflademodellen, ikke regnet fra etager

Terræn
63,8 m
Overflade
66,5 m
Højeste del over terræn
2,8 m
Tagform
fladt
GET /v1/dhm/bygninger/4026462Prøv en anden adresse

Én ejendom, live

Hvor højt ligger grunden, og hvor høje er husene?

Bygningerne er skygget efter deres målte højde. Træk A og B for at lægge et snit hen over grunden — terræn og bygninger tegnes under kortet.

Søg i alle 2,7 mio. danske adresser — gratis, uden konto.

Eksempler
  • Terræn
    63,8 m
    Overflade
    66,5 m
    Højeste del over terræn
    2,8 m
    Tagform
    fladt
    $.buildings[?(@.bbr_uuid=='83ac8afc-5d28-44dc-82a5-cedddd1d6795')]
    {"bbr_uuid": "83ac8afc-5d28-44dc-82a5-cedddd1d6795","hoejde_m": 2.84,"tag": {"haeldning_grader": 0.1,"tagfod_m": 2.77,"konfidens": 0.73,"antal_celler": 757,"tagform": "fladt","kip_retning_grader": null,"fald_retning_grader": null,"aarsag": null},"bbr": {"bygningsnummer": 1,"anvendelse": "Fritliggende enfamiliehus"}}
    curl "https://api.grundfast.dk/v1/dhm/bygninger/4026462" \
      -H "Authorization: Bearer $GRUNDFAST_API_KEY"

    svarede efter 2 ms i sammensætningenMere om Terræn og højder →

Snit fra A til B · 43 m

Træk A og B på planen. Terrænet hentes én gang pr. ejendom — at flytte linjen koster ingen kald.

Peg på profilen for at læse koterne.
64 m66 m2,8 m2,8 mA10 m20 m30 m40 mB

Lodret skala overdrevet ×2,2.

Henter terrænet langs linjen …

Højeste del over terræn · 3 af 3 omrids målt

Et lille hus under et træ kan måles for højt: DHM ser det øverste, laserscanningen ramte. Tryk på en bygning for at lægge snittet hen over den.

Hvad du får

Højdemodellen som svar, ikke som rasterfiler

DHM er et 0,4 m-grid over hele landet. Du spørger på koordinater, linjer, områder eller en ejendom — vi læser rasteret og svarer med tallene.
Terræn og overflade
Den bare jord og det øverste, laserscanningen ramte — i samme svar. Forskellen er højden af det, der står der.terraen_moverflade_m
Koter, der kan kontrolleres
Højdesystem, opløsning, metode og usikkerhed står i svaret, så en kote kan bruges i en situationsplan.systemoploesning_musikkerhed_m
Faldet over grunden
En profil mellem to punkter med laveste, højeste og faldet — eller et net af koter over et område til en 3D-plan.punkter[]fald_m
Målt højde pr. bygning
Hver bygning på ejendommen målt inde i sit omrids: højden er toppen over terrænet (tag_m − terraen_m), så en kuppel eller et tårn tæller med (et smalt spir gør ikke); tag_m og terraen_m er koter i DVR90. Med tagform og hældning, hvor taget kan fittes.hoejde_mtag.tagformaarsag

Højdeprofil over Frederiksborg Slot

GET /v1/dhm/profil?fra=12.2985,55.93522&til=12.3025,55.93522

hentet 24.09.2026
Slotssøen
Terræn (DTM) — terraen_mOverflade (DSM) — overflade_m
33 målepunkter over 249 m, meter over DVR90. Terrænet varierer 3,7 m mellem søen og slotsholmen; overfladen når 61,5 m over slottet.

Tag og solceller

Hvor meget sol får taget — flade for flade

De samme tagflader, målt i højdemodellen: sandt areal, hældning og retning. Skyggen fra huse og træer omkring er målt i overflademodellen, ikke antaget, og ydelsen kommer fra EU’s PVGIS. Et tag, der ikke kan måles, får ingen tal.
GET/v1/demo/dhm/tag/sol?bfe=5651510

Måler tagfladerne og skyggen omkring dem …

Demoen svarer kun for sidens udvalgte ejendomme og med standardantagelserne. Med en nøgle måler /v1/dhm/tag/:bfe/sol ethvert tag — med jeres eget forbrug og jeres egne priser — og /rapport.pdf giver det samme som PDF med lokalplanens ord om solceller.

Kald det

Otte måder at spørge højdemodellen

Samme nøgle som resten af API’et. Svarets form kan ses uden nøgle på /v1/demo/dhm.
DHM-endpoints
EndpointSvarer med
GET /v1/dhm/punktTerræn og overflade i et WGS84-punkt.
GET /v1/dhm/koteSamme opslag med højdesystem, opløsning, metode og usikkerhed — det, en situationsplan skal angive.
POST /v1/dhm/kote:batchMange punkter i ét kald, fx hjørnerne af en tegnet bygning. Afregnes pr. unikt punkt.
GET /v1/dhm/profilTerrænet langs en linje op til 2 km, med laveste, højeste og faldet. Afregnes pr. station.
GET /v1/dhm/terraenEt net af terrænkoter over en bbox — terrænet under en 3D-situationsplan. Ét kald.
GET /v1/dhm/overfladeSamme net fra overflademodellen — tage, trækroner og naboens bygninger, fx til et skyggekort. Ét kald.
GET /v1/dhm/bygninger/:bfeMålt højde og tagflade for hver bygning på ejendommen, inde i GeoDanmark-omridset.
GET /v1/dhm/tag/:bfe/solHver tagflade med sandt areal og tagmål, målt skygge pr. måned, paneler, kWh og tre solcelleanlæg med økonomi. Også som PDF.
# Terrænkote til situationsplanen:
curl -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  "https://api.grundfast.dk/v1/dhm/kote?lon=12.3006&lat=55.9345"

# Faldet over en linje:
curl -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  "https://api.grundfast.dk/v1/dhm/profil?fra=12.2985,55.93522&til=12.3025,55.93522&trin=1"

Svarene

# Terræn og overflade i ét punkt (nøglefri demo — et rigtigt, målt punkt):
GET /v1/demo/dhm
→ 200  { punkt: { lon: 9.9147, lat: 56.031834 },
         terraen_m: 23.9, overflade_m: 35.93,
         system: "DVR90", system_epsg: 5799,
         oploesning_m: 0.4, metode: "naermeste_celle", usikkerhed_m: 0.05, … }

# Profil hen over Frederiksborg Slot:
GET /v1/dhm/profil?fra=12.2985,55.93522&til=12.3025,55.93522&trin=1
→ 200  { laengde_m: …, trin_m: 1, system: "DVR90",
         punkter: [ { afstand_m: 0, lon: 12.2985, lat: 55.93522, terraen_m: 26.9 }, … ],
         terraen_min_m: …, terraen_maks_m: …, fald_m: …, … }

# Målt højde på hver bygning på ejendommen:
GET /v1/dhm/bygninger/9065674
→ 200  { bfe_nummer: 9065674, system: "DVR90",
         metode: { tag: "p95", terraen: "median", hoejde: "tag_m - terraen_m", … },
         bygninger: [ { bbr_uuid: "…", hoejde_m: 36.85, tag_m: …, terraen_m: …,
                        tag: { tagform: …, haeldning_grader: …, … }, aarsag: null }, … ],
         ufuldstaendig: …, attribution: "@geodanmark", … }
# en bygning, der ikke kan måles: hoejde_m: null + aarsag — aldrig 0

Hvem bruger det

Hvor terrænet afgør sagen

Spørgsmål

Ofte stillede spørgsmål

Terræn (DTM) er den bare jord. Overflade (DSM) er det øverste, laserscanningen ramte: tage, trækroner, broer. Forskellen i et punkt er højden af det, der står der. Begge er meter over DVR90.

GET /v1/dhm/kote svarer med koten og alt, en kommune skal kunne kontrollere: højdesystem (DVR90), griddets opløsning (0,4 m), hvordan værdien er taget ud (nærmeste celle, ikke interpoleret) og modellens usikkerhed (0,05 m). Om et projekt overholder byggeretten, afgør kommunen — vi leverer terrænet, ikke dommen.

Inde i bygningens GeoDanmark-omrids: tag_m er 95-percentilen af overfladen, så en gren over taget ikke trækker tallet op, og terraen_m er medianen af terrænet under de samme celler. hoejde_m er forskellen. Kan en bygning ikke måles, er hoejde_m null med en aarsag — aldrig 0 og aldrig et gæt ud fra etager.

Fordi det er to forskellige spørgsmål. BBR’s etageantal tæller etager; DHM måler den fysiske top. Kirken på Frederiksborg Slot står med 2 etager i BBR og er målt til 39,6 m. Et tårn eller et højt kirkerum tæller ikke som etager.

Hver tagflade måles i overflademodellen inden for bygningens omrids. Fra op til fem punkter på fladen følges stråler 100 m ud gennem overflademodellen, så horisonten — naboens hus, hækken, skoven — blokerer solen time for time i et typisk år. PVGIS (EU’s Joint Research Centre) giver ydelsen pr. kWp for fladens hældning og retning; skyggen trækkes fra. Panelerne pakkes på fladen med 30 cm fri kant, og økonomien bruger Energinets elpriser vægtet efter, hvornår solen skinner. Alle antagelser står i svaret, og forbrug og priser kan sættes selv.

Et punkt langt uden for Danmark er en 400. Et gyldigt punkt uden data i modellen — i grænselandet, i Skåne eller på åbent hav — svarer 200 med terraen_m og overflade_m sat til null, aldrig 0. Over søer er terrænet vandfladen, som i profilen på denne side.

En profil afregnes pr. station — som at spørge efter koterne én ad gangen. Et terrænnet er ét kald uanset antal punkter, fordi det er ét raster hos os. kote:batch afregnes pr. unikt punkt.

Se også

DHM-API

Spørg højdemodellen om din første grund

Opret en nøgle og hent terrænkoten, profilen eller bygningshøjderne.

Gratis op til 5.000 kald/md · intet kreditkort · data fra Klimadatastyrelsen/Datafordeler, CC BY 4.0