Vegnett i NVDB api

Vi har jobbet med erfaringene fra den første vegnett-prototypen vi lanserte i september 2013, og er nå stolte over å kunne lansere den første beta-versjonen av vegnettsfunksjonalitet i NVDB api’et. Formatet er GML (versjon 3.2), og applikasjonsskjemaet er basert på SOSI Vegnett 4.5. Merk at funksjonalitet og grensesnitt vil bli utviklet i nye versjoner.

Vegnett-beta i NVDB api

Vegnett-beta i NVDB api

https://www.vegvesen.no/nvdb/api/dokumentasjon/vegnett

Vi jobber hardt for å fjerne beta-stempelet fra endepunkt for å hente fagdata (data langs vegen). Det kan hende at vi ønsker å beholde beta-stempelet for veg-endepunktet litt lenger, det avhenger av erfaringene vi gjør oss nå.

NVDB api fagdata er på vei ut av beta, mens vegnett-delen av api’et er ultra-beta

Vi minner også om at det er laget en QGIS plugin for å laste ned vegnett fra den prototypen vi lanserte i fjor. For å ta i bruk det nye vegnett-endepunktet må plugin’en bygges om: I stedet for å bygge geometriske objekter i python (json-parsing i python er gøy!) må man bruke generiske GML-støtte i enten QGIS eller python. En fin test på interoperabiliteten til åpne formater og vårt nasjonale standardiseringsarbeid!

Cycling in Norwegian Tunnels

Where I can find the map with norway tunnels where cyclists are not allowed to travel?

We strongly encourage you also to investigate other sources of information that are more tailored to the needs of cyclists, but we will of course do what we can with the tools we have. The Norwegian Public Road Administration (NPRA) are rather proud of our efforts toward an open government / open data policy.

The rerverse question is much easier to answer: In which tunnels is it legal to bicycle?  Tunnels registered in Norwegian Road data base should have the attribute sykkelforbud (=cycle restriction), with one of the two values Either Ja ( = sorry, no biking allowed) or Nei ( = No cycling restriction). Finding those tunnels is pretty straight forward in our web application vegkart:

Map screenshot from our web application Vegkart showing cycling is allowed along this part county road 50 in Aurland

Cycling in tunnels along this part county road 50 in Aurland is allowed.

There is one little snag: A tunnel in our road database is defined as a point object. What you and I think of as a tunnel — a man-made pipe caved through rock — is called tunnelløp. We define tunnels this way because a modern tunnel can be a very complicated high-tech construction with any number of pipes.

But what about finding the tunnels I can’t ride a bike in? Is that simply the reverse, i.e. sykkelforbud = Ja. 

Sykkelforbud = Ja (sorry, no biking here)

In a perfect world it would be that simple. But there are plenty of tunnels built long before anyone in the NPRA gave any thought to the idea that someone would actually want to ride a bike through a road tunnel. It is a fairly new concept that biking should be allowed in some tunnels, but not in others. So, we have plenty of tunnels where the property sykkelforbud is not defined. Can you legally ride a bike in those tunnels? Hard to say from my position at the keyboard. But here’s a map showing all combinations:

Sykkelforbud = Har ikke verdi (Undefined)
Sykkelforbud = Ja (explisitely forbidden) 
Sykkelforbud = Nei (Cycling allowed)
Biking restriction undefined (har ikke verdi), not allowed (sykkelforbud=Ja) and allowed (sykkelforbud=nei).

Biking restriction undefined (har ikke verdi), not allowed (sykkelforbud=Ja) and allowed (sykkelforbud=nei).

Link to this vegkart-query.

And yes, you may find this map a bit messy. Please bear in mind that our web application Vegkart is not made for tourists – it is a general tool to find and show any kind of road related object, developed for and by the NPRA.

One last note: Traffic signs take precedence over our road data base, so please respect any «No cycling» — sign.

No cycling allowed.

No cycling allowed.

No cycling or walking

No cycling or walking

Hvorfor krasjer så mange i Nordmarka?

Zoomer du inn på Nordmarka og søker på trafikkulykke får du 5.570 treff:

NVDB har 5.570 trafikkulykker midt i skauen i Nordmarka

Hvordan klarer folk å krasje midt i svarte granskauen?

Lenke til dette vegkart-søket

Dette må jo være feil…? Jepp, og årsaken er at vi i Vegvesenet ikke har klart å knytte riktig ulykke til riktig veg. Det er mange kilder til ulykkesdata (helsevesen, politi etc), og svært få av dem som rapporterer er vegnettsnerder. Det er vrient å få en fornuftig stedfesting ut av beskrivelser som «påkjørt i gangveg, Stabekk».

Vi har ennå ikke fått gjennomslag for at håndbok v830 Nasjonalt vegreferansesystem bør være pensum på politi- og sykepleierhøgskolen… men så er vi nok alene om å synes at det er litt for få vegnettsnerder i verden.

Selv uten stedfesting er dette viktige data som skal inngå i statistikk over antall registrerte ulykker. Da må de inn i NVDB, og da må de ha en vegnettstilknytning. Løsningen vår er langt fra perfekt: Vi knytter dem til vegnummer 99.999, og legger denne fiktive vegstubben langt utenom allfarveg. Det gir litt pussige utslag når vi plotter data på et kart, men det må vi inntil videre leve med.

Vi gratulerer Geodata med kul trafikkdata-applikasjon

Geodata A/S har fått masse velfortjent skryt for sin applikasjon som viser statistikk over trafikkulykker. Vi er selvsagt hemningsløst overbegeistret over at andre lager kule løsninger basert på de datasettene vi forvalter og gjør åpent tilgjengelig i vårt api.

Vårt motto: Åpne data er bra — åpne api’er er fantastisk!

Snerten webapplikasjon for interaktiv "datadrilling" ned i trafikkulykker

Geodata har laget en snerten webapplikasjon for interaktiv «datadrilling» på trafikkulykker-statistikk

Men — vi må dessverre også helle litt malurt i begeret: Tallene avviker en del fra den offisielle fasiten i NVDB, av flere grunner:

  • Løsningen bruker et datauttrekk fra en tid tilbake. Når det skjer endringer i NVDB vil geodata-løsningen ikke fange opp disse — i hvert fall inntil Geodata lager oppdateringsrutiner for å fange opp alle endringer. (Med bruk av NVDB api’ets søkefunksjon og parameteren «endretdato» bør det være en smal sak)
  • Geodata har filtrert ut en del ulykker der kvaliteten på koordinater og/eller egenskapsverdier var mangelfull. (Ja, vi vil svært gjerne ha NVDB ID på disse, slik at vi kan rette dem).
  • Muligens er det også andre grunner til avvik…?  Det kan ikke vi svare på.

Geodata har lovet å oppdatere sin «disclaimer» med riktig beskrivelse av datagrunnlaget… Vi venter i spenning!

Men i hvert fall – nå vet du hvorfor søk i vegkart eller NVDB api’et ikke gir identisk svar med Geodata sin løsning. Og hvorfor statistikken derfra må brukes med en viss varsomhet, i hvert fall inntil videre.

Har dette noe å si? Er ikke dette meningsløst flisespikkeri?

Tja… det spørs helt på hva man skal bruke dataene til. Jeg vil nok tro at Geodata sin webapplikasjon jevnt over viser et sannferdig bilde av ulykkesdata, fordeling og historikk. Jevnt burde avvikene i forhold til fasiten i NVDB være få og små (men vi har ikke sjekket det.) Til utforsking, «data drilling» og for å få et bilde av ulykkesfordeling i rom og tid — og gjerne filtrert på kjøretøy, skadegrad etc — så er applikasjonen et fantastisk verktøy! Men hvis man trenger offisielle tall og statistikk så bør man vite at denne løsningen ikke stemmer 100% med fasiten.

KOSTRA-rapportering for kommunal veg

KOSTRA-rapportering er en oppgave som krever mye ressurser av offentlig forvaltning. En av de vanskelige tingene er å telle riktig lengde på vegnettet — selv internt i Vegvesenet sliter vi med det. I vår iver etter å fornye, forbedre og forenkle har vi selvsagt tenkt på hvordan dette kan gjøres mer elegant.

I vegkart og NVDB api’et får man summert opp lengden til alle strekningsobjekter i et søk (det inngår i responsen fra api’et søkefunksjon). Slik sett kunne man brukt et hvilket som helst heldekkende datasett (f.eks. fartsgrenser) til å finne lengden på vegnettet. Vi vegdata-nerder anbefaler at man bruker vegreferanse, men det er et par fallgruber: Vi tar ikke med såkalt «fiktiv veg», og søket avgrenses til vegstatus «eksisterende veg».

Eksakt hvorfor det er slik blir litt for omfattende å gå inn på nå, men interesserte anbefales å begynne lesningen i den aldeles utmerkede håndbok v830 Nasjonalt vegreferansesystem.

For alle andre så holder det å vite at dette vegkart-søket gir deg lengden på kommunale veger i Arendal kommune. Tallet du er ute etter er 239.419 meter (per 9/5 2017), som du ser i Vegkart.

Vegkart-søk for KOSTRA-rapportering. Vegreferanse på kommunalveger med filter: Vegtype forskjellig fra "Fiktiv veg" og vegstatus lik "Eksisterende veg" og "konnekteringslenke forskjellig fra konnekteringslenke" (dvs vi tar IKKE med konnekteringslenker i søket)

Disclaimer: Jeg aner ikke om KOSTRA rapportering også omfatter private veger og skogsbilveger. I så fall er det trivielt å føye dem til i søkefeltet.

For lokalpatrioter utenfor Arendal er det selvsagt trivielt å skifte ut den vakre sørlandsbyen med sin egen favorittkoummune: Klikk på «x», en bak Arendal, klikk på en ledig plass i søkefeltet og skriv ditt kommunenavn. Press Enter.

Voila, instant KOSTRA-rapportering!

NVDB gjør åpen forvaltning

Vi som synes det er artig med vegdata og sånn synes det er kjempeartig at de nye tingene vi gjør  — er nettopp den typen digitalisering som Storting og regjering ønsker fra forvaltningen. At vi kan gjøre det — i stedet for å snakke om det — er selvsagt kjempemoro.

Åpne data er bra — åpen forvaltning er fantastisk!

På mange måter slipper Nasjonal Vegdatabank (NVDB)  ekstremt billig unna fra det felles digitaliseringsprosjektet: Andre etater må sikre at svært sensitive personopplysninger ikke havner på avveie, samtidig som data flyter elegant mellom fagsystem og etater. Vi vegnerder skal bare bygge moderne grensesnitt mot vårt felles register over vegnettet. Med ytterst få unntak er dette offentlig informasjon som bør, kan og skal være åpent tilgjengelig.

NVDB api’et inngår i en modernisering av Vegvesenets tekniske infrastruktur. Det nye API’et gjør at vi kan fornye, forenkle og forbedre, med svært gode resultater — og vi er bare så vidt i gang:

  • Hva skal NVDB inneholde? Informasjonen i NVDB har en nøkkelrolle i planlegging av samferdsel (på alle tidshorisonter!), og i forvaltning og drift av vegnettet. Balansegangen mellom hva som skal lagres i NVDB og hva som hører hjemme i andre fagsystem er krevende, og krever et godt hode og evne til samarbeid på tvers av fagmiljø og avdelinger.
  • Vi vil servere et topologisk, navigerbart vegnett i API’et. (Vi mekket en kjapp prototyp til frigjøringen av kartdata H-2013, bare for å vise hvordan vi tenker).
  • Skrivefunksjoner for fagdata basert på REST prinsipper. Dette er faktisk litt tøffere enn det høres ut som, f.eks. har en moderne tunnel relasjoner til flere tusen andre vegobjekter – eksempel. Krevende, men moro! 
  • Ny vegnettseditor.
  • Skrivefunksjoner for vegnett (dette tar vi til sist).

Dette gjør vi fordi vi trenger disse moderniseringene internt i Vegvesenet — men det er en fryd og fornøyelse å kunne tilby de samme grensesnittene til resten av samfunnet.

Dette er åpen forvaltning i praksis — og det er vi stolte av!

A little note to oor our international fans

We (the Norwegian Road Administration) have received some intriguing questions about the API to the Norwegian Road Data Base. Unfortunately for Non-Norwegian programmers, all documentation is in Norwegian only. Hopefully, this very brief introduction may motivate you to learn a very beautiful language. (It aint that hard – even the children here speak it fluently). Or perhaps we some day should adapt to the other 99.93% of the population and provide documentation in English…

Update 2020: Use version 3 of NVDB api https://nvdbapiles-v3.atlas.vegvesen.no/dokumentasjon/

Update 2020: You may also enjoy this English summary: https://nvdbtransportportal.vegdata.no/

Virtually all data in the Norwegian Road Data (NVDB) base are available under the Norwegian Licence for Open Government Data (NLOD), without carge.

If you want road data for navigational purposes you should have a look at the data we use in our own route planner (esri and spatialLite formats).

Besides the road network itself, the NVDB has of lots of data attached to the road network (think of those as anything road related found along the topological network). We have more than 300 different types of objects tied to the road network: Speed limits, toll station, traffic flow, traffic accidents, curvature, … the list goes on. Those objects are all defined in our data catalogue. (The official version is a java program, you’ll find a link to it here, most of you will probably prefer our unofficial web version). And (virtually) all of those data are available through our road database (NDRB) api.

The data structure in the NVDB API may seem a little complex at first, in particular if you expect everything to have a straightforward name – value data structure. Each object has a list of egenskaper  (propertiesplural), containing any number of  the element egenskap (property, singular). Each egenskap (property) has an ID, a name (navn), a value (verdi) and a link to it’s own definition in the data catalogue.

To find what it actually costs to pass the station you’d search through the list of egenskaper  for the egenskap  with ID = 1820 and inspect that value (verdi). You’d probably expect the value to be in Norwegian Kroner, and you’d be right — which is confirmed by the tag enhet (unit).

And don’t forget the API’s twin companion Vegkart, which is a web application that shows data directly from our API. Seeing the objects location and probing their properties might be helpful to those unfamiliar with our API. Your successful Vegkart-query contains a download-link that takes you directly to NVDB api.

Toll station at Klett, south of Trondheim, Norway.

Toll station at Klett, south of Trondheim, Norway.

Any results from a successful Vegkart query can be downloaded (as csv or SOSI), but with some caveats.

Vegkart og NVDB API er oppdatert

Det ble i dag installert en ny versjon av både Vegkart i NVDB API. Leveransen har hatt fokus på å feilrettinger og utvidete søkemuligheter i Vegkart.

Endringer i Vegkart:

  • Det er nå mulig å søke innenfor én eller flere riksvegruter
  • Det er nå mulig å søke innenfor én eller flere kontraktsområder
  • Feilretting: Maptiles blir ikke lenger plassert feil i IE10 ved rask zooming

Endringer i NVDB API:

  • Det er nå mulig å søke innenfor én eller flere riksvegruter i /sok-endepunktet
  • Det er nå mulig å søke innenfor én eller flere kontraktsområder i /sok-endepunktet
  • Feilretting: Noen objekter inneholder ikke lenger referanse til feil morobjekt
  • Feilretting: /omrader-endepunktet inneholder CORS-headere

Må man krangle med elgen for å forstå lineære referanser?

Vi er så heldige i Statens Vegvesen å ha veldig flinke fagfolk innen mange områder. Knut Jetlund er en av mange flinke kolleger som godt kunne fortjene litt mer skryt for kompetanse og innsats. Foruten det daglige slitet med å flytte rundt og kna på geografiske data så deltar Knut i standardiseringsarbeid nasjonalt og internasjonalt, med vegnett og lineære referanser som spesialområde.

Vi er veldig glade i det geiniale verktøyet FME for å kna i geografiske data. Derfor synes vi det er ekstra gøy når produsenten ikke bare legger merke til Knuts arbeid med lineære referanser, men bruker det som utgangspunkt for webinar og blogginnlegg.

(Ekstra skryt til Norkart Geoservice for å være kjappe med å reklamere for et svært severdig webinar… )

You can’t reason with a moose – blogginnlegg om lineære referanser (Safe software).

Er vegen kommunens eller statens ansvar?

Etter de forrige innleggene har vi fått en del spørsmål — hvordan kan vi enklest mulig vise om vegen er kommunens  eller statens (d.v.s. Statens Vegvesens)  ansvar? Aller helst skulle vi vist de kommunale vegene i en farge, mens europa-riks- og fylkesveger ble en annen farge. (Fylkesveger er selvsagt fylkeskommunens ansvar, men Vegvesenet hjelper til på vegne av fylkeskommunen).

Dette klarer vi ikke i dagens vegkart-løsning. Den som vil lage sine egne kartløsninger kan glede seg over at logikken støttes i maskineriet bak (vårt åpne api), men dette hjelper dessverre ikke våre ivrige vegkart-brukere. Det nærmeste vi kommer er en av disse løsningene:

  • Løsning 1 (den enkleste) Marker alle kommunale veger (skogsbilveg, privat veg, kommunal veg), slik som nedenfor. Veger uten markering er da statens ansvar.
  • Løsning 2 Utvid den løsningen vi foreslo her ved å legge til tre nye vegreferanse – elementer, hvert med et egenskapsfilter lik h.h.v. Vegkategori=Europaveg, Fylkesveg eller Riksveg. Dette blir en veldig komplisert løsning, med svært mange klikk før man er i mål. Resultatet har masse glade farger som jeg personlig synes blir utrolig rotete, men det er jo smak og behag.

Her viser vi hvordan den første løsningen blir seende ut:

Vegkart - søk: Vegreferanse på private, kommunale og skogsbilveger i Kristiansand.

Nei, det er ikke så mange skogsbilveger i Kristiansand sentrum. Men sammen med kommunale og private veger er de en del av det «kommunale vegnettet» som ikke er statens ansvar.

Lenke til dette søket.

Husk at for akkurat dette søket kan du bli grundig lurt av maksgrensen på antall objekter i kartet. P.t. har vi standardgrense på 500 objekter samtidig, og du skal ikke zoome så veldig langt ut før du er over denne grensen. Klikk på #-symbolet til høyre for Vegreferanse for å øke til et mer rimelig tall.