Områdeklassificering-API — § 50 a på et koordinat
Er punktet omfattet af kommunens områdeklassificering efter jordforureningslovens § 50 a — og ligger det i et analysefrit delområde? Ét kald med lon/lat svarer på begge dele og sender polygonen, kommunen og registerets egne koder med. Et nej er et målt nej — svarer laget ikke, får du 502, aldrig et falsk false. Vejledende; kommunens jordregulativ er det juridiske grundlag.
GET /v1/jord/omraadeklassificeringHvad områdeklassificerings-API’et giver dig
Ét koordinat ind — ja/nej ud
Send lon/lat i WGS84 og få, om punktet er omfattet af kommunens områdeklassificering efter jordforureningslovens § 50 a. Vi reprojicerer selv til EPSG:25832 og slår op i polygonlaget — ingen WFS, ingen CQL og intet projektionslag i din kode.
Analysefri — med registerets egen kodeliste
Feltet analysefri er afledt af lagets eget Ana_krkode: 1 og 2 er analysefrie delområder (Kategori 1 og 2), 3 er område med krav om analyser. Polariteten er nem at læse baglæns — den HØJE kode er den restriktive — så vi sender både den rå kode og registerets egen tekst med.
Et nej kan aldrig komme af en fejl
Et svar med omraadeklassificeret: false er en påstand nogen handler på, så den må kun komme af et opslag der faktisk lykkedes. Kan laget ikke nås — eller svarer det tomt, fordi det er blevet tømt — får du 502. Aldrig 200 med et falsk nej.
Kommunen og dens link følger med
Svaret er polygonen, ikke bare et flag: status, zone, hvorfor et areal er undtaget eller inddraget, hvornår versionen trådte i kraft — og hvilken kommune der vedligeholder den, med det link registret selv bærer. Regulativet er det juridiske instrument; her er vejen derhen.
Slå et koordinat op
Endpointet er GET /v1/jord/omraadeklassificering?lon=&lat= med en gf_live_-nøgle — samme auth og metering som de øvrige registre. Har du kun en adresse, bruger du adresseopslaget først og sender adgangspunktets koordinat herind:
curl -H "Authorization: Bearer gf_live_…" \ "https://api.grundfast.dk/v1/jord/omraadeklassificering?lon=10.1763672&lat=56.1327761"
Hvorfor et nej er den svære del
De fleste opslag kan nøjes med at fejle stille: mangler et hus en tagbeklædning, er feltet bare tomt. Her er det omvendt. omraadeklassificeret: false er en positiv påstand — den fortæller nogen, at jorden herfra ikke er omfattet af klassificeringen — og et WFS-lag der er nede, tømt eller svarer med en HTML-fejlside, ser i JSON ud præcis som "ingen polygon dækker punktet". Derfor er alle fire tilfælde en 502 hos os: ikke-200, ikke-JSON, et svar der ikke er en FeatureCollection, og et lag der er tomt i sin helhed (vi spørger laget, om det overhovedet har rækker, før vi tør sige nej).
Status & datakontrakt
# Live nu — Register #10 (Bearer gf_live_…): GET /v1/jord/omraadeklassificering?lon=10.1763672&lat=56.1327761 → 200 { punkt: { lon: 10.1763672, lat: 56.1327761 }, epsg25832: [573113.77, 6221480.62], omraadeklassificeret: true, analysefri: true, analysekrav: { kode: 2, navn: "Analysefrit område (Kategori 2)" }, polygon: { objekt_id: "26ddb353-53ac-11e2-8a8c-00155d01e765", status: { kode: 3, navn: "Gældende / Vedtaget" }, zone: { kode: 100, navn: null }, kommune: { navn: "Århus Kommune", cvr_kode: 55133018, url: null, email: null, telefon: null }, gaeldende_fra: "2009-09-30T10:46:34Z" }, forslag: false, antal_polygoner: 1, konflikt: false, kilde: { lag: "dai:omr_klassificering", opdateret: "2009-09-30T10:46:34Z" } } # Uden for enhver polygon — et MÅLT nej, ikke et tomt svar: → 200 { omraadeklassificeret: false, analysefri: null, analysekrav: null, polygon: null, antal_polygoner: 0, … } # Laget kan ikke nås — eller svarer tomt, fordi det er tømt: → 502 { error: "upstream områdeklassificering (DAI WFS) error" } # ALDRIG 200 med omraadeklassificeret: false. # Demo-datakontrakten virker uden nøgle: GET /v1/demo/jord
/v1/jord/omraadeklassificering?lon=&lat=Områdeklassificering + analysefrit delområde ved et WGS84-koordinat. Kræver gf_-nøgle; DAWA-stilen x/y/srid virker også.
/v1/demo/jordDatakontrakten uden nøgle — et rigtigt opslag fanget fra laget, så felttyperne matcher det keyede svar.
Hvad registret ikke er
Områdeklassificeringen er kommunens udpegning af områder, hvor jorden kan være lettere forurenet. Den er ikke det samme som regionernes kortlægning af konkrete ejendomme på vidensniveau V1/V2, som ligger i et andet datasæt og ikke i dette lag — så et false her er ikke en frikendelse af ejendommen. Den er heller ikke en tilladelse: anmeldelsen af jordflytning og kravene til analyser følger af jordforureningsloven, jordflytningsbekendtgørelsen og kommunens eget regulativ. Registret svarer på, hvad kortet siger — det er udgangspunktet for sagen, ikke afgørelsen.
Kom i gang med områdeklassificering
Opret en gratis nøgle i dashboardet og send dit første koordinat — eller kald /v1/demo/jord med det samme og se datakontrakten uden nøgle.
Se også
Ofte stillede spørgsmål
Er områdeklassificerings-API’et live nu?
Ja. GET /v1/jord/omraadeklassificering?lon=&lat= er live som Register #10 over Danmarks Miljøportals DAI-lag dai:omr_klassificering. Kilden kræver ingen konto eller nøgle hos Miljøportalen, så registret har i praksis ingen "ukonfigureret" tilstand — du skal kun bruge din egen gf_-nøgle. Datakontrakten kan testes uden nøgle på /v1/demo/jord.
Hvad betyder analysefri, og hvad er polariteten på koden?
analysefri afledes af lagets eget Ana_krkode. Kode 1 = "Analysefrit område (Kategori 1)" og kode 2 = "Analysefrit område (Kategori 2)" giver analysefri: true; kode 3 = "Område med krav om analyser" giver false. Den høje kode er altså den restriktive — det er nemt at læse baglæns, så vi sender både koden og registerets egen tekst med i svaret i stedet for at oversætte den til noget vi selv har fundet på. Ligger punktet slet ikke i en polygon, er analysefri null: spørgsmålet opstår ikke der.
Kan omraadeklassificeret: false komme af en upstream-fejl?
Nej — og det er med vilje den vigtigste designbeslutning i registret. Et false er en positiv påstand: nogen kan bruge den til at konkludere, at jord herfra ikke er omfattet. Derfor må den kun stamme fra et opslag der faktisk lykkedes. Er laget nede, svarer med en fejlkode, med noget der ikke er JSON, eller svarer tomt fordi laget er blevet tømt, får du 502 med { error }. Der findes ingen kodesti, hvor en fejl bliver til et 200 med false.
Dækker API’et også V1/V2-kortlagte grunde?
Nej. Dette register svarer på områdeklassificeringen efter § 50 a — den kommunale udpegning af områder, hvor jorden kan være lettere forurenet — og intet andet. Regionernes kortlægning på vidensniveau V1/V2 af konkrete ejendomme er et andet datasæt og ligger ikke i dette lag. Et omraadeklassificeret: false siger derfor ikke, at ejendommen er fri for kortlægning; det siger, at ingen gældende områdeklassificerings-polygon dækker punktet.
Er svaret juridisk bindende?
Nej, det er vejledende. Kommunens jordregulativ er det juridiske instrument, og kommunen kan både undtage delområder fra klassificeringen og inddrage arealer uden for byzone. Derfor svarer vi med polygonen — status, zone, undtaget/inddraget-begrundelse og kommunen bag den — i stedet for at gætte ud fra "ligger punktet i byzone". Registret bærer kommunens eget link, hvor det findes: kun omkring en fjerdedel af polygonerne har et brugbart link, resten skriver "Ukendt" eller et migreringsspor fra 2012.
Hvad sker der ved overlap, forslag og manglende dækning?
Falder punktet i flere polygoner, rapporterer vi den mest restriktive (højeste Ana_krkode) og sætter konflikt: true, så et overlap aldrig kan under-rapportere et krav om analyser. En polygon med status "Forslag" sætter aldrig omraadeklassificeret alene — den vedtagelse, der skaber klassificeringen, er ikke truffet endnu — men den flagges med forslag: true. antal_polygoner fortæller altid, hvor mange polygoner punktet faktisk faldt i.
Hvilke koordinater skal jeg sende, og hvad koster et opslag?
Send lon/lat i WGS84 (lon ~7–16, lat ~54–58); DAWA-stilen x/y med srid=4326 eller 25832 virker også. Mangler en parameter, eller ligger punktet uden for Danmark, svarer endpointet 400. Opslaget kører på den fælles selvbetjente prismodel (Free / Starter / Pro / Scale) med samme nøgle og metering som BBR, Matriklen og DAR — ingen tillæg pr. register.
Er Grundfast officielt / tilknyttet myndighederne?
Nej. Grundfast er et uafhængigt compatibility-lag. Områdeklassificeringen kommer fra kommunerne via Danmarks Miljøportals DAI (Danmarks Arealinformation); vi krediterer kilden og udstiller den i en ryddet, versioneret form med cache og SLA oven på.
Områdeklassificering på tværs af alle 98 kommuner
Kommunernes egne polygoner fra Danmarks Arealinformation, slået op på et WGS84-koordinat og svaret i én ryddet datakontrakt — med registerets egne koder, polygonens status og kommunen bag den. Vejledende: jordregulativet er det juridiske grundlag.