Skovbyggelinjer · NBL § 17

# Skovbyggelinjen på et koordinat — gældende og ophævet skilt ad

Ligger punktet inden for **300 meter fra skov** — eller er linjen ophævet netop dér? Kommunernes lag rummer begge dele. Svaret holder dem adskilt, så en ophævet linje aldrig læses som et byggeforbud.

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register) [Se dokumentationen](https://grundfast.dk/docs/api/natur-skovbyggelinje)

Kaldet

- [GET /v1/natur/skovbyggelinje?lon=&lat=](https://grundfast.dk/docs/api/natur-skovbyggelinje)

Ortofoto © Klimadatastyrelsen · via Grundfast

Nordre Strandvej 501, 3100 Hornbæk

Byggelinjer · Naturbeskyttelses­loven

svarede efter 3 ms

Inden for skovbyggelinjen

Afstanden til linjen er ikke målt

**Skovbyggelinje**

Inden for

**Strandbeskyttelseslinje**

Uden for · 24 m væk

**Klitfredning**

Uden for

**Søbeskyttelseslinje**

Uden for

`GET /v1/natur/byggelinjer?lon=12.42401&lat=56.092833` Prøv en anden adresse

Én ejendom, alle naturbeskyttelseslinjer

## Ligger huset inden for skovbyggelinjen?

Vælg et eksempel eller søg en adresse. Skovbyggelinjen står øverst; de øvrige naturbeskyttelseslinjer fra samme opslag står under den.

Søg i alle 2,7 mio. danske adgangsadresser.

Prøv fx

Eksempler

Henter geometri …

[Sommerhus i HornbækNordre Strandvej 501, 3100 Hornbæk](https://grundfast.dk/ejendom/2348847/nordre-strandvej-501-3100-hornbaek)

- ByggelinjerNaturbeskyttelses­lovenInden for skovbyggelinjenAfstanden til linjen er ikke målt **Skovbyggelinje**
Inden for **Strandbeskyttelseslinje**
Uden for · 24 m væk **Klitfredning**
Uden for **Søbeskyttelseslinje**
Uden for Henter registrets geometri … $.byggelinjer
```
 [  {  "noegle": "skov",  "navn": "Skovbyggelinje",  "hjemmel": "naturbeskyttelsesloven § 17",  "inden_for": true,  "usikker": false,  "afstand_m": null,  "status": "ok"  },  {  "noegle": "strandbeskyttelse",  "navn": "Strandbeskyttelseslinje",  "hjemmel": "naturbeskyttelsesloven § 15",  "inden_for": false,  "usikker": false,  "afstand_m": 24.1,  "status": "ok"  },  // … 8 mere  ]
``` ```
curl "https://api.grundfast.dk/v1/natur/byggelinjer?lon=12.42401&lat=56.092833" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
``` svarede efter 3 ms i sammensætningen[Mere om Byggelinjer →](https://grundfast.dk/byggelinjer-api?bfe=2348847)
- AdresserDARNordre Strandvej 501, 3100 Hornbæk
- MatriklenGeodatastyrelsenMatr.nr. 7ao · 1.208 m²Horneby By, Hornbæk
- BBRBygnings- og BoligregistretOpført 2009 · sommerhus 107 m²3 bygninger i BBR
- Bygnings­polygonerGeoDanmark4 omrids tegnet1 omrids uden BBR-bygning
- Terræn og højderDHMHøjeste del 11,7 m over terræn · terræn 7,6 m o.h.3 af 4 bygninger målt
- PlandataPlandata.dkSommerhusområde · Ingen lokalplanRamme 5.S1
- JordforureningRegionerne · kommunerneIkke kortlagt forureningOmrådeklassificeret byjord
- StøjMiljøstyrelsenIntet kortlagt støjbånd ved adressenEn kortlagt zone når ind i grundens område · 2022 (vej og jernbane) og 2017 (lufthavn og industri) — ikke det samme som stille
- OversvømmelseKystdirektoratet · Miljøstyrelsen2 lavninger rører grunden, dybeste 0,6 mIkke beregnet oversvømmet fra havet, selv i 2120
- Ejendoms­vurderingVurderingsstyrelsen5,3 mio. kr (2020)Heraf grundværdi 2,1 mio. kr
- DAGIAdministrative grænserHelsingør Kommune · Region HovedstadenHornbæk Sogn
- StednavneDanske StednavneHorneby Sand · 264 m væk3 stednavne inden for 400 m
- LuftfotoKlimadatastyrelsenOrtofoto under planenEget kald pr. kortflise · alle årgange

Vis alle 14 registre

[GET /v1/demo/property?bfe=2348847](https://grundfast.dk/v1/demo/property?bfe=2348847)1 kald · 14 registre · fra cache på 6 ms · sammensat kl. 12.16 på 222 ms

Inden for 1 af 10 linjer: skovbyggelinje

Målt i ét punkt på grunden. Vælg en linje for at se den på planen.

Skovbyggelinjen ligger 300 m fra skove over 20 ha. Den måles som inde eller ude — ikke i meter: geometrien er for tung til et punktopslag. Skov-endpointet herunder skiller desuden gældende og ophævede linjer ad — se kortet længere nede.

Linjeafstand_m

inde — negativ afstand ude — positiv afstand § 3-natur kvadratrodsskala på hver side af kanten

Skovbyggelinje

naturbeskyttelsesloven § 17

Målepunktet ligger inden for skovbyggelinjen. Afstanden til kanten måles ikke for skov — kun om punktet er inde.

Tæt på skoven må der som udgangspunkt ikke opføres ny bebyggelse uden dispensation.

På planen: henter linjens geometri …

Hvad du får

## To kolonner, to spørgsmål — og et svar, der skiller dem

Skovbyggelinjer i Ringkøbing-Skjern

dai:skovbyggelinjer · punktet fra GET /v1/demo/natur

hentet 24.09.2026

Ortofoto © Klimadatastyrelsen · via Grundfast

Gældende skovbyggelinje (Skovs_kode 1) Ophævet (Skovs_kode 2) Demopunktet

### Gældende og ophævet hver for sig

`skovbyggelinje · ophaevet`

Laget beskriver linjen i én kolonne og registreringen i en anden, og de er uenige på over 1.500 polygoner. Vi læser begge og holder svarene adskilt.

### Overlap siges højt

`konflikt`

Dækker en gældende og en ophævet linje samme punkt, gælder forbuddet, og `konflikt: true` fortæller dig, at der er noget at se på.

### Ophævelsen med årsag og afgørelse

`ophaevede[].dokument_url`

Statslig afgørelse eller bymæssig bebyggelse — og kommunens egen afgørelse, hvor polygonen bærer et link.

### Et nej kommer aldrig af en fejl

`502, aldrig false`

Kan laget ikke nås eller svarer det tomt, får du 502. Et `false` er altid et målt svar.

Prøv det

## Kald demoen — uden nøgle

Demo-endpointet svarer med det rigtige opslag fra kortet ovenfor: en gældende linje og tre ophævede polygoner over samme punkt.

GET/v1/demo/natur

Ringkøbing-Skjern · skovbyggelinje: true, ophaevet: true, konflikt: true

svar hentet 24. september 2026

```
{
  "punkt": {
    "lon": 8.5286062,
    "lat": 55.8988908
  },
  "epsg25832": [
    470523.61,
    6194926.91
  ],
  "skovbyggelinje": true,
  "ophaevet": true,
  "polygon": {
    "objekt_id": "9aea87e5-c607-4a3c-b6a7-2fd0e322d655",
    "byggelinje": {
      "kode": 1,
      "navn": "Gældende"
    },
    "status": {
      "kode": 3,
      "navn": "Gældende / Vedtaget"
    },
    "i_kraft": true,
    "ophaevelse": null,
    "skov_ejer": null,
    "oprindelse": {
      "kode": 1,
      "navn": "Ortofoto"
    },
    "dokument_url": null,
    "areal_m2": 387810.99,
    "gaeldende_fra": "2023-02-08T14:46:03.481Z",
    "registreret": "2023-02-08T14:46:03.481Z",
    "kommune": {
      "navn": "Ringkøbing-Skjern kommune",
      "cvr_kode": 29189609
    }
  },
  "ophaevede": [
    {
      "objekt_id": "9ff6f3d1-53af-11e2-a9b2-00155d01e765",
      "byggelinje": {
        "kode": 2,
        "navn": "Ophævet"
      },
      "status": {
        "kode": 3,
        "navn": "Gældende / Vedtaget"
      },
      "i_kraft": false,
      "ophaevelse": null,
      "skov_ejer": null,
      "oprindelse": null,
      "dokument_url": null,
      "areal_m2": 99547.73,
      "gaeldende_fra": "2012-02-01T12:06:16Z",
      "registreret": "2012-02-01T12:06:16Z",
      "kommune": {
        "navn": "Ringkøbing-Skjern kommune",
        "cvr_kode": 29189609
      }
    },
    {
      "objekt_id": "a0d71aa7-53af-11e2-965c-00155d01e765",
      "byggelinje": {
        "kode": 2,
        "navn": "Ophævet"
      },
      "status": {
        "kode": 3,
        "navn": "Gældende / Vedtaget"
      },
      "i_kraft": false,
      "ophaevelse": null,
      "skov_ejer": null,
      "oprindelse": null,
      "dokument_url": null,
      "areal_m2": 99547.73,
      "gaeldende_fra": "2012-09-19T12:40:22Z",
      "registreret": "2012-09-19T12:40:22Z",
      "kommune": {
        "navn": "Ringkøbing-Skjern kommune",
        "cvr_kode": 29189609
      }
    },
    {
      "objekt_id": "a0d71a9b-53af-11e2-96b9-00155d01e765",
      "byggelinje": {
        "kode": 2,
        "navn": "Ophævet"
      },
      "status": {
        "kode": 3,
        "navn": "Gældende / Vedtaget"
      },
      "i_kraft": false,
      "ophaevelse": null,
      "skov_ejer": null,
      "oprindelse": null,
      "dokument_url": null,
      "areal_m2": 99547.73,
      "gaeldende_fra": "2012-09-18T16:03:45Z",
      "registreret": "2012-09-18T16:03:45Z",
      "kommune": {
        "navn": "Ringkøbing-Skjern kommune",
        "cvr_kode": 29189609
      }
    }
  ],
  "forslag": false,
  "usikker": false,
  "antal_polygoner": 4,
  "konflikt": true,
  "kilde": {
    "lag": "dai:skovbyggelinjer",
    "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs",
    "opdateret": "2023-02-08T14:46:03.481Z"
  },
  "meta": {
    "kilde": "Danmarks Miljøportal (DAI) via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

Vis hele svaret (122 linjer)

Med din egen nøgle: `GET /v1/natur/skovbyggelinje?lon=&lat=`

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register)

Kald det

## Ét koordinat ind, linjen ud

Har du kun en adresse, slår du den op i DAR først og sender adgangspunktets koordinat. Samme `gf_live_`-nøgle og metering som de øvrige registre.

```
curl -H "Authorization: Bearer gf_live_…" \
  "https://api.grundfast.dk/v1/natur/skovbyggelinje?lon=8.5286062&lat=55.8988908"
```

Reference

## Felterne i svaret

| Felt | Type | Betydning |
| --- | --- | --- |
| skovbyggelinje | boolean | Om mindst én GÆLDENDE linje dækker punktet (Skovs_kode 1). Kommer kun af et opslag, der lykkedes. |
| ophaevet | boolean | Om mindst én OPHÆVET linje dækker punktet. Et selvstændigt spørgsmål — et punkt kan ligge i begge dele. |
| konflikt | boolean | Både gældende og ophævede polygoner ved punktet. Forbuddet vinder; de ophævede følger med som belæg. |
| usikker · forslag | boolean | usikker: ingen VEDTAGET registrering bag et ja (status Ukendt, forslag eller kladde). forslag: en registrering ved punktet er kun et forslag. |
| polygon | object \| null | Den gældende polygon: byggelinje- og registreringsstatus, oprindelse, areal, kommune, dokumentlink, gældende fra. |
| ophaevede[] | object[] | Hver ophævet polygon med ophævelsesårsag og — hvor kommunen har lagt den ud — link til afgørelsen. |
| antal_polygoner · kilde | number · object | Hvor mange polygoner punktet faldt i, og laget med dets seneste opdatering. |

Kanttilfælde: ophævet med afgørelse, usikker og 502 Tre svar ud over det normale, som API’et skriver dem

```
# Ophævet linje, med kommunens egen afgørelse (Silkeborg):
GET /v1/natur/skovbyggelinje?lon=9.8143799&lat=56.1750771
→ 200  { skovbyggelinje: false, ophaevet: true, polygon: null,
         ophaevede: [ { byggelinje: { kode: 2, navn: "Ophævet" },
                        status:     { kode: 3, navn: "Gældende / Vedtaget" },
                        ophaevelse: { kode: 2, navn: "Statslig afgørelse" },
                        dokument_url: "http://webkort.silkeborg.dk/…" } ] }

# Linjen står, men registreringen er kun "Ukendt":
GET /v1/natur/skovbyggelinje?lon=8.9625781&lat=56.1306342
→ 200  { skovbyggelinje: true, usikker: true,
         polygon: { byggelinje: { kode: 1, navn: "Gældende" },
                    status:     { kode: 0, navn: "Ukendt" } } }

# Laget kan ikke nås, er tomt, eller svarede afkortet uden en gældende linje:
→ 502  { error: "upstream skovbyggelinje (DAI WFS) error" }   # ALDRIG 200 med false
```

Hvorfor laget kræver to kolonner Skovs_kode mod Statuskode i dai:skovbyggelinjer

`Skovs_kode` beskriver byggelinjen selv (1 Gældende, 2 Ophævet), mens `Statuskode` beskriver registreringen (Vedtaget, Aflyst, Ukendt, Forslag, Kladde). Da vi talte i september 2026, rummede laget omkring 11.300 polygoner, og godt 1.500 af dem stod som “Gældende / Vedtaget” om en linje, der er ophævet: registreringen er i kraft, og det, den registrerer, er ophævelsen. Læser man kun status, melder man byggeforbud, hvor der ikke er noget.

326 polygoner står som “Ukendt” og et dusin som forslag eller kladde. De tæller med — § 17 trækker linjen, kommunen kortlægger den bare — men svaret markerer dem med `usikker: true`, så du ved, at et ja er værd at få bekræftet hos kommunen.

Hvem bruger det

## Før skitsen, i desk studyet, i prospektet

- [Projektudviklere og arkitekter Første filter på en byggegrund: ligger den nye bygning inden for 300 m af skov, og er linjen ophævet?](https://grundfast.dk/loesninger/projektudvikling)
- [Miljørådgivere Naturbindingerne i desk studyet, med kommunens afgørelse vedlagt, hvor den findes.](https://grundfast.dk/loesninger/miljoe-og-geoteknik)
- [Investorer og due diligence Om en grund kan udnyttes, som prospektet siger — målt, ikke antaget.](https://grundfast.dk/loesninger/due-diligence)

Spørgsmål

## Ofte stillede spørgsmål

### Hvad er en skovbyggelinje?

Naturbeskyttelseslovens § 17 forbyder som udgangspunkt bebyggelse inden for 300 meter fra skov. Linjen gælder om offentlige skove og om private skove på mindst 20 hektar sammenhængende areal. Den følger af loven selv; kommunerne kortlægger den i Danmarks Arealinformation og kan reducere eller ophæve den ved afgørelse. Registret er altså et kort over reglen, og reglen har sine egne undtagelser i § 17, stk. 2 og 3.

### Kan skovbyggelinje: false komme af en upstream-fejl?

Nej. Et false er det svar, nogen bruger til at konkludere, at de ikke skal søge dispensation, så det kommer kun af et opslag der lykkedes. Nedetid, et svar der ikke er JSON, et tømt lag og et afkortet svar uden en gældende linje giver alle 502 — aldrig 200 med et falsk nej.

### Hvad gør jeg, hvis punktet ligger inden for linjen?

Linjen er ikke en dom over projektet. § 17, stk. 2 undtager konkrete projekter — fx garager, carporte og udhuse på højst 50 m² i byzone ved et eksisterende hus (nr. 7) og ombygning uden udvidet boligareal (nr. 8) — og efter stk. 3 gælder forbuddet kun mellem bygningen og skoven, hvor der allerede ligger væsentlig lovlig bebyggelse tættere på. Ellers er det kommunen, der kan dispensere efter § 65. Svaret peger på kommunen bag polygonen, og bærer polygonen et dokumentlink, får du kommunens afgørelse med.

### Hvorfor svarer API’et ikke, om jeg må bygge?

Fordi det ikke kan afgøres fra et koordinat. Om § 17 stopper et projekt afhænger af projekttypen, arealet, om boligarealet vokser, og hvad der ligger mellem grunden og skoven. Derfor bærer svaret intet kraever_dispensation eller forbudt: det rapporterer linjen og dens attributter, og undtagelserne lægger du selv oveni.

### Er skovbyggelinjen også med i byggelinje-API’et?

Ja. skov-nøglen i GET `/v1/natur/byggelinjer` besvares af nøjagtig samme opslag, så de to kan ikke være uenige. Brug dette endpoint, når du har brug for § 17 i dybden — ophævede polygoner, årsag, afgørelse og konflikt — og byggelinje-endpointet, når du vil have alle linjer i ét kald.

### Hvilke koordinater sender jeg, og hvad koster et opslag?

lon/lat i WGS84; DAWA-stilen x/y med srid=4326 eller 25832 virker også. Mangler en parameter, eller ligger punktet uden for Danmark, svarer endpointet 400. Et opslag er ét kald på den fælles prismodel, med samme nøgle som BBR, Matriklen og DAR.

Se også

- [Byggelinje-API Alle linjer på ét koordinat, med afstand til kanten](https://grundfast.dk/byggelinjer-api)
- [Områdeklassificering-API Jordforureningen ved samme koordinat](https://grundfast.dk/omraadeklassificering-api)
- [Matrikel-API Jordstykket og BFE-nummeret bag koordinatet](https://grundfast.dk/matrikel-api)
- [Luftfoto-API Ortofotoet under kortet — år for år](https://grundfast.dk/luftfoto-api)
- [Skovbyggelinje § 17 forklaret](https://grundfast.dk/begreber/skovbyggelinje)

Begreber og guides

- [Byggelinje](https://grundfast.dk/begreber/byggelinje)
- [Strandbeskyttelseslinje](https://grundfast.dk/begreber/strandbeskyttelseslinje)

- [Må der bygges her? Linjerne og udpegningerne på en grund](https://grundfast.dk/guides/maa-der-bygges-her)

Skovbyggelinje-API

## § 17 på et koordinat — med ophævelsen skilt fra forbuddet

Opret en gratis nøgle og send dit første koordinat. Samme nøgle giver byggelinjer, jordforurening, BBR og matrikel.

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register) [Se dokumentationen](https://grundfast.dk/docs/api/natur-skovbyggelinje)

Gratis op til 5.000 kald/md · intet kreditkort · data fra kommunerne via Danmarks Miljøportal
