Bygg og konstruksjon

Terrengkategori og terrengform

Terrengruhetskategori etter NS-EN 1991-1-4:2005/NA:2009 for et punkt, fastsatt retningsvis i 72 sektorer ut til 10 km fra Kartverkets høydemodeller, FKB-bygninger og NIBIO AR5, med overgangssoner, kontrollpunkter, terrengformfaktor c_o etter NA.4.3.3 og RIB-overstyring. JSON, PDF eller HTML. Beta.

Sist oppdatert 2026-09-16 · Markdown · OpenAPI · Prøv i nettleseren: Terrengkategori og terrengform

  • POST /api/terrain/category
  • POST /api/terrain/jobs
  • GET /api/terrain/jobs/{id}
  • GET /api/terrain/jobs/{id}/fil

Hva du får

Vindlastberegningen etter NS-EN 1991-1-4 trenger terrengruhetskategori (0 til IV) per vindretning. Endepunktet leser terrenget rundt punktet: høydemodeller (DOM/DTM 1 m i nærfeltet, 10 m ut til 10 km), arealbruk fra AR5 og bygningsomriss fra FKB, og fastsetter kategori i 72 rullerende 30°-sektorer etter reglene i NA, med overgangssoner (NA.4.3.2(2)), kontrollpunkter der grunnlaget ikke avgjør, og terrengform (NA.4.3.3) med co og kI per sektor. Ansvarlig prosjekterende (RIB) kan bekrefte og overstyre per sektor, og rapporten merker det med navn og dato. Skjønnsvalgene i metoden står på terrengkategori-siden.

Betaversjon, gratis i pilot, uten nøkkel, begrenset til 1 per sekund og 30 per time per IP-adresse. Rapporten er et beslutningsgrunnlag som RIB kontrollerer og godkjenner.

POST /api/terrain/category

Synkront, inntil 60 s. Bruk jobbendepunktet i alt som ikke er interaktivt.

curl -X POST https://api.solkart.no/api/terrain/category \
  -H "Content-Type: application/json" \
  -d '{"lat": 59.2185, "lon": 10.9298, "sted": "Jegerveien 8, Fredrikstad", "akse_grader": 35}'
Felt Type Standard Beskrivelse
lat, lon tall påkrevd 57 til 72° N, 4 til 32° Ø
radius_km 2 til 10 10 Analyseradius
z_ref_m 0 til 200 Referansehøyde (byggets høyde) for overgangssoner
z_ref_note streng ≤ 60 Merknad om hvor høyden kommer fra
akse_grader 0 til 179,99 Byggets lengderetning; gir kategori per akse i tillegg
sted streng ≤ 160 Adresse eller navn til rapporten
rapport_id streng ≤ 40 Din referanse, trykkes i rapporten
kart boolean false Legg kartlagene ved som SVG i JSON-svaret
format json | pdf | html json Også som ?format=
overstyring objekt RIB-valg, se under

overstyring

Felt Beskrivelse
rib Navn og firma, 2 til 120 tegn. Påkrevd når overstyring er med.
kommentar, dato Fri tekst ≤ 1000 og dato ≤ 20 tegn
sektorer[] (≤ 13) {senter_grader 0–359, kategori 0–4, kommentar}: overstyr kategori i sektoren
bekreftelser[] (≤ 14) {sektor_grader, kode, kommentar}: bekreft et kontrollpunkt (kode er kontrollpunktets kode fra svaret)
terrengform[] (≤ 13) {senter_grader, type, c_o, k_I, kommentar} med typeflatt, aas, skraaning, aas_i_le, le_slak, le_bratt, manuell; c_o og k_I 0,5 til 3 (brukes ved manuell)

Svar 200 med format=json

Ekte svar for punktet over (forkortet: 72 sektorer, 7 kontrollpunkter og 24 regeltreff er kuttet til ett hver):

{
  "sted": { "lat": 59.24, "lon": 10.9526, "utm33": [271950, 6573900] },
  "norm": "NS-EN1991-1-4:2005+NA:2009",
  "resultat": {
    "terrengkategori": "II",
    "kategori_id": 2,
    "styrende_sektor_grader": 0.0,
    "per_akse": { "35": 2, "125": 2, "215": 2, "305": 2 },
    "konfidens": 0.8,
    "krever_kontroll": true,
    "kontrollgrunner": [ "…" ],
    "fastsatt_av_rib": false,
    "c_o_maks": 1.31,
    "c_o_styrende_sektor_grader": 100.0,
    "k_I_maks": 1.0,
    "k_I_sektorer_grader": []
  },
  "kontrollpunkter": [
    { "kode": "terrengform_aas", "sektor_grader": 60.0, "sektor_label": "sektor 060°",
      "kort": "terrengform skråning, c_o = 1,21",
      "tekst": "Skråning med H = 77 m, L_H = 360 m, B = 2190 m og x = 550 m gir c_o = 1,21 etter NA.4(901.5). …",
      "risiko": "Kan gi høyere vindlast: c_o kan være høyere om en annen topp eller form velges",
      "lavere": true, "kategori_valgt": null, "kategori_mulig": null, "bekreftet": null }
  ],
  "overstyring": null,
  "sektorer": [
    { "senter_grader": 0.0, "kategori": 2, "overstyrt": null,
      "terrengform": { "type": "skraaning", "beskrivelse": "Skråning eller platåkant, stedet i øvre halvdel (NA.4.3.3(901.2), ΔS = 1,8·H/L_H)",
                       "c_o": 1.007, "k_I": 1.0, "H_m": 45.2, "L_H_m": 570, "B_m": 1410, "x_m": 2140, "phi": 0.079,
                       "z_sted_moh": 66.6, "z_topp_moh": 79.7, "z_bunn_moh": 34.5, "z_ref_m": 10.0,
                       "bratt": null, "le_slak_mulig": false, "tvinger_kategori_II": false, "merknader": [], "profil": [[-3000, 34.5], "…"] },
      "z0_m": 0.05,
      "overgangssone": { "present": true, "x_B_km": 2, "n": 2, "tc_upwind": "IV", "vm_ratio": 0.86, "direction": "avtakende", "flere": [ "…" ] },
      "baand": [
        { "km": "0–0,3", "kategori": 2, "z0_m": 0.05, "z0_morfometrisk_m": 1.0, "lambda_p": 0.0, "h_av_m": 0.0,
          "arealklasse": "forest_conif", "arealandeler": { "forest_conif": 0.989, "forest_mixed": 0.011 },
          "vannandel": 0.0, "stroklengde_vann_km": 0.0, "stroklengde_hav_km": 0.0, "haveksponering": 0.01,
          "bygningskilde": "fkb", "hoydedekning": 1.0 }
      ] }
  ],
  "regeltreff": [
    { "kode": "ung_skog_ii", "punkt": "NA.4.1 (kat. II)", "tekst": "Skog med middelhøyde under 4 m regnes som spredte objekter.",
      "grunnlag": { "h_av_m": 0.0, "band_km": "0–0,3", "ndom_dekning": 1.0 }, "sektorer": [ "…" ], "sektor_tekst": "sektorene 145–060° og 100–105°" }
  ],
  "grunnlag": {
    "hoydemodell": "Kartverket DOM1/DTM1 i 2,5 m for 0-1 km og DOM10/DTM10 i 30 m for 1-10 km (nDOM = DOM - DTM)",
    "arealdekke": "NIBIO AR5 (WMS)", "bygningskilde": "Kartverket FKB Bygning", "bygninger_antall": 1261,
    "ar5_datafangst": "28.04.1994", "ar5_alder_aar": 32, "sektorbredde_grader": 30, "sektorsteg_grader": 5,
    "referansehoyde_m": 10.0, "referansehoyde_oppgitt": false, "akse_grader": 35.0, "beregnet_sekunder": 3.5, "responstid_ms": 34031
  }
}
Felt Beskrivelse
resultat.terrengkategori, kategori_id Styrende kategori for punktet som romertall (0, I til IV) og tall (0 til 4): laveste over sektorene etter NA.4.3.2(4)
resultat.per_akse Kategori for byggets to akser og deres motsatte retninger (nøkkel = grader), når akse_grader er gitt
resultat.konfidens 0 til 1, hvor godt grunnlaget avgjør
resultat.krever_kontroll, kontrollgrunner[], kontrollpunkter[] Punkter der usikkerheten kan gi annen kategori eller c_o og dataene ikke avgjør; hvert kontrollpunkt har kode, sektor_grader, tekst, risiko og bekreftet. RIB bekrefter via overstyring.bekreftelser med samme kode.
resultat.c_o_maks, c_o_styrende_sektor_grader, k_I_maks Høyeste terrengformfaktor og turbulensfaktor over sektorene, og hvilken sektor
sektorer[] 72 sektorer (hvert 5°, 30° brede) med kategori (0 til 4), ruhetslengde z0_m, terrengform (type, c_o, k_I, H_m, L_H_m, B_m, x_m, høyder og profil), overgangssone (x_B_km, tc_upwind, vm_ratio, direction) og baand[] per avstandsbånd med arealklasse, bebygd andel lambda_p, middelhøyde h_av_m, vannandel og strøklengder
regeltreff[] Hvilke regler i NA som slo til, med punkt, grunnlag og sektorintervaller
grunnlag Datakilder, oppløsning, AR5-alder, referansehøyde og beregningstid

format=pdf gir rapporten som application/pdf (Content-Disposition med filnavn), html som HTML; begge med hodene X-Terrengkategori og X-Konfidens (JSON-svaret har verdiene i resultat). Alle svar er Cache-Control: private, no-store.

I kø: POST /api/terrain/jobs

Samme kropp. Svar 202 med jobb_id, status, posisjon, estimert_sekunder; status på GET /api/terrain/jobs/{id}; fil på GET /api/terrain/jobs/{id}/fil når status er done og formatet er pdf eller html. Resultatene lever i 15 minutter. Se asynkrone jobber for hele flyten med kode.

Eksempel: RIB bekrefter og overstyrer

curl -X POST https://api.solkart.no/api/terrain/jobs \
  -H "Content-Type: application/json" \
  -d '{
    "lat": 59.2185, "lon": 10.9298, "sted": "Jegerveien 8, Fredrikstad", "z_ref_m": 9, "format": "pdf",
    "overstyring": {
      "rib": "Kari Nordmann, Nordmann Bygg AS", "dato": "2026-09-15",
      "kommentar": "Befaring 12.09: ny bebyggelse sør for tomta er ikke i FKB ennå.",
      "sektorer": [ { "senter_grader": 180, "kategori": 3, "kommentar": "Rekkehus ferdigstilt 2026" } ],
      "bekreftelser": [ { "sektor_grader": 240, "kode": "vann_strok_240", "kommentar": "Kontrollert mot kart" } ],
      "terrengform": [ { "senter_grader": 120, "type": "aas" } ]
    }
  }'

Rapporten viser overstyringene med RIB-navn, dato og kommentar, og markerer sektorene som fastsatt av RIB.

Feil

Status code error
400 INVALID_INPUT lat må være et tall mellom 57 og 72., radius_km må være mellom 2 og 10., z_ref_m må være mellom 0 og 200., akse_grader må være mellom 0 og 179., overstyring.rib må oppgis (navn og firma)., overstyring.sektorer: senter_grader 0–359 og kategori 0–4., format må være én av: json, pdf, html.
422 NO_COVERAGE Ingen datadekning for dette punktet (høydemodell mangler).
429 RATE_LIMITED Over 1/s eller 30/time; Retry-After
503 BACKEND_BUSY Terrengkategori-tjenesten er opptatt. Prøv igjen. (Retry-After = anslått ventetid i sekunder, 30 når anslag mangler)
504 BACKEND_TIMEOUT Analysen brukte mer enn 60000 ms. Bruk jobbendepunktet.
502 BACKEND_ERROR Beregningstjeneren svarte feil

Datagrunnlag

Kartverket DOM og DTM 1 m (nærfelt 0 til 1 km) og DTM 10 m (ut til 10 km), Kartverket FKB-bygninger (omriss og høyde), NIBIO AR5 arealressurskart, og ortofoto til rapportens kart. Metoden og skjønnsvalgene, inkludert strøklengde over vann, kategori IV-kriteriene og terrengform etter NA.4(901.5), er beskrevet på solkart.no/terrengkategori.