Skip to main content

Begrensninger

Ratelimiter

API-et implementerer en ratelimiter for å forhindre overbelastning. Denne funksjonen opererer basert på tre nøkkelparametere: Tidsvindu-størrelse, antall kall, og timeout.

Tidsvindu

Tidsvinduet angir varigheten mellom hver tilbakestillingsperiode for tellingen av antall kall til API-et.

  • Standardverdi: 1000 millisekunder

Antall Kall

Dette er det tillatte antallet kall i hvert tidsvindu fra en enkelt klient.

  • Standardverdi: 20 kall per tidsvindu
  • I tillegg til den generelle grensen på 20 kall per sekund, har vi også en ratelimiter på maksimalt 200 kall per minutt for hver unike bruker.

Timeout

Timeout-parameteren definerer hvor lenge en forespørsel kan stå i kø og vente på et ledig tidsvindu før den avvises med en 429 - Too Many Requests-feil.

  • Standardverdi: 0 millisekunder (forespørsler avvises umiddelbart med 429 hvis ingen ledig kapasitet)

Ytelsesberegning

Med de standardverdiene som er satt, tillater ratelimiteren et gjennomsnitt på 20 kall per sekund.

Vegobjekter

Opprettelse av vegobjekter

Per dags dato er det ikke mulig å oppgi noe annet enn koordinater innen koordinatreferansesystemet UTM33N (EPSG:5973). Dette er koordinatreferansesystemet som er ment for landsdekkende data, som oppgitt hos GeoNorge.

Disse koordinatreferansesystemene er per i dag ikke støttet, men skal støttes på sikt:

CRSEPSG
WGS844326
UTM32N5972
UTM35N5975
NTM05-305945-5970

Eksempel på ett vegobjekt som lastes opp med koordinater i koordinatreferansesystemet UTM33N (EPSG:5973)

curl -X 'POST' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter' \
-H 'accept: */*' \
-H 'Authorization: Bearer <ditt-token>' \
-H 'X-Client: <identifiserbar klient>' \
-H 'Content-Type: application/json' \
-d '{
"vegobjekter": [
{
"typeId": 96,
"geometri": {
"wkt": "POINT Z (236232.857014551 7065790.05982351 48.61)",
"metadata": {
"srid": 5973,
"datafangstmetode": "ukj",
"nøyaktighet": 100,
"synbarhet": 99,
"datafangstMetodeHøyde": "ukj",
"nøyaktighetHøyde": 100,
"datafangstDato": "1990-09-01",
}
},
"egenskaper": [
{
"typeId": 1894,
"verdi": "2717"
}
]
}
]
}'

Ekskluderte vegobjekttyper

Disse objekttypene er ekskludert fra Datafangst 2.0, og vegobjekter av disse typene vil ikke være tilgjengelige i API-et.

TypeIdNavn
319Kolonnestrekning
532Vegreferanse
534Region
535Fylke historisk
536Kommune historisk
537Vegavdeling
538Adresse
540Trafikkmengde
562Testobjekttype
570Trafikkulykke
571Ulykkesinvolvert enhet
572Ulykkesinvolvert person
573Svingerestriksjon
577Vegfunksjon
579Politidistrikt
580Kontraktsområde
616Feltstrekning
704Riksvegrute
705Nasjonal sykkelrute
785Statistikk, generell
793NVDB Dokumentasjon
871Historisk_Bruksklasse
886Omkjøringsrute
889Bruksklasse, modulvogntog
890Bruksklasse, modulvogntog, uoffisiell
891Bruksklasse, 12/65 mobilkran m.m.
892Bruksklasse, 12/65 mobilkran m.m., uoffisiell
893Bruksklasse, 12/100 vegnett
894Bruksklasse, 12/100 vegnett, uoffisiell
895VegROS
900Bruksklasse, tømmertransport
901Bruksklasse, tømmertransport, uoffisiell
902Bruksklasse, spesialtransport
903Bruksklasse, spesialtransport, uoffisiell
904Bruksklasse, normaltransport
905Bruksklasse, normaltransport, uoffisiell
915Vegsystem
916Strekning
917Kryssystem
918Kryssdel
919Sideanlegg
920Sideanleggsdel
945Fylke
946Kommune
50001NetNode
50002RefLink

Håndtering av sensitiv data

I Datafangst 2.0 lagrer vi ikke sensitive egenskaper for vegobjekter som importeres fra NVDB, uavhengig av hvilken sensitiv rolle brukeren har. Sensitiv data som er redigert i kontrakt regnes som arbeidsdata og vil være synlig for alle brukere i kontrakten, uavhengig av sensitiv rolle.

Merk at vegobjekttyper med sensitivitetsnivå 1 ikke kan redigeres i Datafangst. For en full oversikt over skjermede egenskapstyper se Data som ikke er åpent publisert i NVDB.

Uthenting av sensitive egenskaper

For å hente ut sensitive egenskaper (sensitivitetsnivå 2 eller 3) må brukeren ha en av rollene nva=0_sensitive_role2 eller nva=0_sensitive_role3.

  • Bruker med sensitiv rolle får se sensitive egenskaper fra NVDB ved å gjøre et eget kall for å hente alle sensitive egenskaper for et vegobjekt.
    • Denne informasjonen lagres ikke hos oss og må hentes ved behov, f.eks. for å sammenlikne med arbeidsdata i kontrakt.
  • Bruker uten sensitiv rolle får ikke hentet sensitive egenskaper fra NVDB.
  • Hvis en sensitiv egenskap er redigert i en kontrakt regnes denne som arbeidsdata, og alle brukere med tilgang til kontrakten kan se denne verdien, uavhengig av sensitiv rolle.

Eksempel på kall for å hente sensitive egenskaper for et vegobjekt:

curl -X 'GET' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter/{vegobjektId}/sensitive-egenskaper' \
-H 'accept: */*' \
-H 'Authorization: Bearer <ditt-token>' \
-H 'X-Client: <identifiserbar klient>' \

Redigering av sensitive egenskaper

Sensitive egenskaper kan redigeres av brukere med og uten sensitiv rolle. Redigerte sensitive egenskaper vil få en egen operasjon: SENSITIV_SKRIV. Dersom man ønsker å fjerne en sensitiv egenskap som ligger lagret i NVDB brukes operasjonen SENSITIV_SLETT. En egenskap som har SENSITIV_SKRIV har en ny verdi i kontrakt, men skiller seg fra vanlig SKRIV fordi vi ikke har tilgang til informasjon om hva som eventuelt ligger lagret i NVDB fra før. Det er altså teoretisk mulig at en egenskap med SENSITIV_SKRIV har en verdi som er identisk med den som ligger lagret i NVDB.

Hvis en sensitiv egenskap skal endres kan dette gjøres via endepunktet for oppdatering av egenskaper:

curl -X 'PUT' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter/{vegobjektId}/egenskaper' \
-H 'accept: */*' \
-H 'Authorization: Bearer <ditt-token>' \
-H 'X-Client: <identifiserbar klient>' \
-H 'Content-Type: application/json' \
-d '{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"vegobjektTypeId": 0,
"typeId": 0,
"verdi": "string"
}

Hvis en sensitiv egenskap skal slettes kan dette gjøres via endepunktet for sletting av egenskaper:

curl -X 'DELETE' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter/{vegobjektId}/egenskaper/{egenskapTypeId}/sensitiv-slett' \
-H 'accept: */*' \
-H 'Authorization: Bearer <ditt-token>' \
-H 'X-Client: <identifiserbar klient>' \