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