# Tjek alle byggelinjer

`GET /v1/natur/byggelinjer` · Byggelinjer & § 3

Ti byggelinjer og § 3-beskyttet natur på ét punkt i ét kald, hver med sin egen status, afstand og kilde.

Ét opslag besvarer de ti linjer, et punkt kan være omfattet af: strandbeskyttelse (§ 15) og klitfredning (§ 8), sø- og åbeskyttelseslinje (§ 16), skovbyggelinje (§ 17), fortidsmindebeskyttelseslinje (§ 18), kirkebyggelinje (§ 19), § 3-beskyttet naturtype og § 3-beskyttet vandløb, samt beskyttede sten- og jorddiger efter museumslovens § 29 a. `linjer` har altid alle ti nøgler, så en manglende nøgle aldrig kan læses som et nej.

Kilderne ligger tre steder: Danmarks Miljøportal, Slots- og Kulturstyrelsens Fund og Fortidsminder, og Matriklen på Datafordeler, hvor Geodatastyrelsen registrerer § 15-linjerne. Svigter en kilde, rammer det kun de linjer, den leverer: de får `status: "utilgaengelig"` og `inden_for: null`, mens resten svarer normalt. Læs derfor `status`, før du læser `inden_for`.

`afstand_m` er afstanden til nærmeste kant af nærmeste feature i kraft inden for `soegeradius_m` — **negativ inde, positiv ude**, afrundet til 0,1 m og beregnet i EPSG:25832. For dige og § 3-vandløb er registret selve linjen, ikke en zone; `inden_for` betyder der, at punktet ligger på linjen (inden for 2 m), og afstanden er det tal, der er værd at vise.

Nøglen `skov` besvares af nøjagtig samme opslag som `/v1/natur/skovbyggelinje`, så de to kan ikke være uenige. Brug det endpoint, når du har brug for § 17 i dybden.

**Godkendelse:** `Authorization: Bearer gf_live_…` (eller `gf_test_…`)

**Afregning:** Ét kald for alle ti linjer.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `lon` | query | number | nej | Længdegrad i WGS84 (decimalgrader). Påkrævet, medmindre `x` og `y` er sendt. |
| `lat` | query | number | nej | Breddegrad i WGS84 (decimalgrader). Påkrævet, medmindre `x` og `y` er sendt. |
| `x` | query | number | nej | DAWA-kompatibel østkoordinat eller længdegrad, sammen med `y` og `srid`. |
| `y` | query | number | nej | DAWA-kompatibel nordkoordinat eller breddegrad, sammen med `x` og `srid`. |
| `srid` | query | string | nej | Koordinatsystem for `x`/`y`: `4326` (WGS84) eller `25832` (ETRS89/UTM32N i meter). |

## Eksempel

```bash
curl "https://api.grundfast.dk/v1/natur/byggelinjer?lon=15.1450245&lat=55.1385081" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
```

## Svar (200)

```json
{
  "punkt": {
    "lon": 15.1450245,
    "lat": 55.1385081
  },
  "epsg25832": [
    891471.9,
    6127457.46
  ],
  "soegeradius_m": 500,
  "linjer": {
    "strandbeskyttelse": {
      "navn": "Strandbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 15",
      "geometri": "flade",
      "status": "ok",
      "inden_for": true,
      "usikker": false,
      "afstand_m": -1.5,
      "antal": 1,
      "traef": {
        "objekt_id": "575344_4",
        "i_kraft": true,
        "status": {
          "kode": null,
          "navn": "Strandbeskyttelse"
        },
        "kategori": null,
        "naturtype": null,
        "beskyttelsesaarsag": null,
        "anlaegstype": null,
        "datering": null,
        "fredningsstatus": null,
        "digetype": null,
        "dokument_url": null,
        "areal_m2": null,
        "gaeldende_fra": "2013-08-20T11:05:24.193Z",
        "registreret": "2018-06-03T17:04:28.674Z",
        "kommune": {
          "navn": null,
          "cvr_kode": null
        }
      },
      "ophaevede": [],
      "kilde": {
        "lag": "mat:StrandbeskyttelseFlade_Gaeldende + mat:StrandbeskyttelseFlade_Foreloebig",
        "wfs": "https://wfs.datafordeler.dk/MATRIKLEN2/MatGaeldendeOgForeloebigWFS/1.0.0/WFS"
      }
    },
    "dige": {
      "navn": "Beskyttet sten- og jorddige",
      "hjemmel": "museumsloven § 29 a",
      "geometri": "linje",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": 484.3,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:bes_sten_jorddiger_2022",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    }
  },
  "antal_i_kraft": 2,
  "utilgaengelige": [],
  "meta": {
    "kilde": "Danmarks Miljøportal (DAI), Slots- og Kulturstyrelsen (Fund og Fortidsminder) og Geodatastyrelsen (Matriklen) via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `linjer.<nøgle>.status` | "ok" \| "utilgaengelig" | Om netop denne linje kunne besvares. Læs den før `inden_for`. |
| `linjer.<nøgle>.inden_for` | boolean \| null | Om en linje er i kraft i punktet. `false` er målt og dannes aldrig af en fejl; `null` kun når `status` er `utilgaengelig`. |
| `linjer.<nøgle>.usikker` | boolean | Linjen er i kraft, men ingen vedtaget registrering står bag. Kvalificerer altid et ja, aldrig et nej. |
| `linjer.<nøgle>.afstand_m` | number \| null | Fortegnet afstand i meter til nærmeste kant: negativ inde, positiv ude. `null`, når intet i kraft ligger inden for søgeradius, eller geometrien ikke kunne læses. |
| `linjer.<nøgle>.traef` | object \| null | Den feature, der sætter linjen i kraft, som dens eget register beskriver den — fx fortidsmindets art og fredningsstatus eller kommunens afgørelse i `dokument_url`. |
| `linjer.<nøgle>.hjemmel` | string | Den bestemmelse, linjen følger af, fx "naturbeskyttelsesloven § 16". |
| `utilgaengelige` | string[] | Nøglerne på de linjer, der ikke kunne besvares. Tom ved et komplet opslag. |
| `antal_i_kraft` | integer | Antal linjer i kraft i punktet, talt blandt dem, der blev besvaret. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | Koordinaten mangler, er ikke et tal, ligger uden for Danmark, eller `srid` er andet end 4326 og 25832. |
| 401 | Nøglen mangler eller er ugyldig. |
| 429 | Burst-grænsen eller månedskvoten er nået. Se `Retry-After`. |
| 503 | Byggelinjekilderne er ikke konfigureret i dette miljø. En kilde, der er nede, giver ikke en 503, men `status: "utilgaengelig"` på de berørte linjer. |

> Svaret rapporterer linjen, aldrig en afgørelse. Hver bestemmelse har sine egne undtagelser, og § 3-beskyttelsen følger naturen på stedet, ikke kortet: et areal kan være beskyttet uden at stå i registret, og omvendt. Om en regel rammer et konkret projekt, afgør den ansvarlige myndighed — ikke dette opslag.
