Sjekk vegreferanser i kartet

Eksempel på feil i vegreferanseoppslag fra NVDB api'et, Risør Havn.

Dobbeltsjekk vegreferanser med to kilder til NVDB-data! Den blå linja viser avstanden fra kartklikk til vegreferansen fra NVDB api’et. Her i Risør Havn er det åpenbare feil i data fra NVDB api’et

For å bøte på problemet med feil vegreferanser i vegkart har vi laget dette kartet. Klikk i kartbildet, så hentes vegreferanse fra to uavhengige kilder:

Begge kildene har NVDB data, men sommeren 2016 er vegnettsfunksjonene i NVDB api’et ustabile.

Eksempel på feil vegreferanse i vegkart, Risør havn.

I Risør havn får du feil vegreferanse for deler av Fv416. Klikker du nær «g»‘en i Strandgata får du data for en av kommunalvegene lengre sør.

Enda et eksempel fra Risør havn. Jeg klikket litt til side for senterlinja. Blå linje viser avstand fra klikkpunkt til NVDB api, rød linje fra klikkpunkt til visveginfo-tjensten. Det er helt klart noe galt med vegnettet fra NVDB api’et i dette området, mens jeg har full tiltro til data fra Visveginfo-tjenesten.

Enda et eksempel på feil i vegreferanse-oppslag mot NVDB api.

Når du klikker skal du få data for nærmeste veg. Dette ser bra ut for visveginfo-tjenesten (rød linje), men ikke for NVDB api (blå linje).

Slik skal det se ut!

Vegreferanse-oppslag mot NVDB api og visveginfo-tjenesten gir her samme resultat.

Slik ser det ut når det er 100% samsvar i de to tjenestene! Vegreferanse-verdiene er identiske, og rød og blå linje tegnes oppå hverandre, og tilsammen blir en fiolett strek.

Kartet finner du her: http://labs.vegdata.no/vegreferanse/

Krøll med vegnett i NVDB api

Dessverre har det vært mye problemer med NVDB api’et i produksjon. Stabiliteten har vært alt for dårlig. I tillegg viser det seg at vi har rot og krøll med deler av datainnholdet.

I NVDB api’et bruker vi p.t. to separate indekser.

  • Fagdata (fartsgrenser, trafikkmengde, vegreferanse, skiltplate …) Alle NVDB objekter definert i datakatalogen. Alt tyder på at delen av systemet virker som den skal.
  • Vegnettsdata: Vi har en egen indeks for vegnettsfunksjoner. Det er her vi har krøll, datacrash og avvik i for eksempel meterverdier.

Feil i meterverdier i vegkart

Vegkart gjør koordinatoppslag mot NVDB api'et. Fylke 05 blir vist som 50.

Fylke 05 blir her vist som 50. Dette er en irriterende, men ufarlig feil. Verre er det at vi finner tilfeller med feil meterverdi.

Vegnettsfunksjoner omfatter også oppslag fra koordinat til vegreferanse. Noen ganger gir dette feil meterverdi. Denne funksjonen brukes av vegkart; Hver gang du klikker i vegkart så gjøres det oppslag mot denne funksjonen. (eksempel)

Du kan altså ikke stole 100% på den meterverdien du får når du klikker i «vegkart». 

Vegkart har også feil visning av fylkesnummer lavere enn 10: For eksempel blir fylke  5 (Oppland) vist som 50, ikke 05. Akkurat denne feilen er kun irriterende, men totalt ufarlig: Data på fylkesnummer _*er*_ riktig, de blir bare vist litt dumt.

Kan jeg bruke data fra Vegkart / NVDB api?

Ja, vi er ganske trygge på at alle fagdata er korrekte.

Men ikke stol 100% på den meterverdien du får opp når du klikker i kartet.

Hva gjør vi videre?

Akkurat nå er alle fagpersoner på ferie. Vi får ikke gjort noe som helst de neste par ukene. Etter feriedvalen har feilretting høyeste prioritet.

Hackerangrep og re-indeksering

De siste par dagene har vi hatt to kjipe ting samtidig:

  • http://www.vegvesen.no/om+statens+vegvesen/presse/nyheter/Nasjonalt/massivt-angrep-mot-vegvesenets-ikt-struktur
  • Alle tjenester på vegvesen.no har de siste par dagene vært utsatt for tjenestenektangrep, og derfor utilgjengelige, helt eller delvis. Ett av tiltakene er at tilgangen fra utlandet er blokkert til flere av våre tjenester, for eksempel NVDB api, ruteplantjenesten, datex m.fl. norske IP-adresser en stund fremover — minimum fram til over langhelgen.
  • Vi måtte re-indeksere NVDB api’et i går ettermiddag. Det gir opp til 8 timer med ustabilitet i NVDB api’et.

Vi beklager ulempene.

Hvis IP-blokkeringen gir problemer – ta kontakt, så ser vi på muligheten for å oppheve blokkeringen for din IP.

Nå er det ENDA enklere å lage søk mot NVDB api

Vis eksportvalg. Eller "last-ned-data-pila", som jeg kaller det. (eller «eksporter data» som er mouseover-teksten) har fått ny funksjonalitet: Du får nå fiks ferdig lenke til et gyldig søk mot NVDB api’et.

"Vis eksportvalg" har fått ny funksjon. Der det står API finner du lenken til eksakt det samme søket som Vegkart bruker mot NVDB api.

«Vis eksportvalg» har fått ny funksjon. Der det står API finner du lenken til eksakt det samme søket som Vegkart bruker mot NVDB api.

Dette forenkler utvikling mot NVDB api vesentlig. Fremfor å mekke på søkeobjekt fra nettleserens adressefelt (denne oppskriften) henter man nå fungerende NVDB api-søk direkte fra vegkart.

 

Bruk Vegkart for å komme i gang med NVDB api

En godt skjult hemmelighet er hvordan webapplikasjonen vegkart gjør livet enklere for deg som skal i gang med å høste ferske NVDB data direkte fra NVDB api. Vegkart gjør at du kommer i gang fortere, enklere og med langt mindre plunder!

Gjør deg kjent med data i Vegkart!

Dette burde være opplagt, men det er mange som overser nytten av å gjøre seg kjent med datasettet, både før man programmerer, og underveis i prosessen. Mange tabber og mye knot hadde vært unngått med å bare grave litt rundt og få litt føling med datasettet

  • Hva finnes, og hvor finnes det data? Er det forskjell i dekning mellom f.eks. de ulike delene av landet? Eller finnes data kun på hovedvegene? Har kun et fåtall av kommunene lagt inn data på det kommunale vegnettet?
  • Bruk også datakatalogen i vegkart til å lære mer om mulige egenskaper på de objektene du ønsker.
  • De egenskapene du ønsker å bruke — finnes de? Selv om din drømmeegenskap er definert i datakatalogen betyr det ikke nødvendigvis at det finnes data lagt inn i NVDB.

Et kjapt vegkart-søk lærer deg mye om hva som finnes i NVDB, hvor det finnes og hva det kan brukes til!

Vegkart gir deg et ferdig søkeobjekt!

NVDB api’et søkefunksjon er et kraftfullt verktøy, men kan være litt plundrete å komme i gang med.

Nå er det vesentlig enklere enn før – ny oppskrift her!

 

Oppskriften nedenfor ble utdatert i vegkart-versjon lansert oktober-2015 – men vi har erstattet den med en ny og vesentlig enklere metode.

Bak stien https://www.vegvesen.no/nvdb/api/sok? skal man føye til nøkkelordet og verdien kriterie={søkeobjekt}. Vi synes selvsagt vi har vært grasat flinke til å skrive dokumentasjon og veiledning med flere eksempler på hvordan man bygger opp et søkeobjekt — men innser at mange plundrer med dette.

Vegkart er redningen — i stien til ditt favorittsøk i Vegkart er det nemlig gjemt et søkeobjekt!

Ved å kopiere søkeobjekt fra nettleserens adressefelt kan datautforsking i Vegkart anvendes direkte som ditt første søkeeksempel mot NVDB api. La oss si at du søker etter bomstasjoner med takst under 30 kroner i et spesielt vakkert geografisk område:

Vegkart-søk Hvor er bomstasjonene der det ikke koster mer enn 30 kr å passere?

Hvor er bomstasjonene der det ikke koster mer enn 30 kr å passere?

Lenken til dette vegkart-søket er såkalt URL encodet, det vil si at spesialtegn som krøllparanteres er erstattet med prosentkoder. Mange teksteditorer kan dekode dette direkte, eller man kan finne online URL dekodere på nett. For eksempel denne.

meyerweb URL encoder/decoder. Fiffig online verktøy for å oversette prosentkode-grøt til lesbar tekst.

meyerweb URL encoder/decoder. Fiffig online verktøy for å oversette prosentkode-grøt til lesbar tekst. Merk disclaimeren!

Når jeg setter inn et par linjeskift og mellomrom så blir det jo bortimot lettlest:

https://www.vegvesen.no/vegkart/vegkart/#!/
kartlag:geodata/
vegreferanse:260452.12090424:6556932.0971975/
sok:{
     "lokasjon": {
         "bbox": "262973,7033178,287844,7046873"
     },
     "objektTyper": [{
         "id": 45,
         "antall": "15000",
         "filter": [{
             "type": "Takst liten bil",
             "operator": "<=",
             "verdi": ["30"]
         }]
    }]
}

Den våkne leser har selvsagt for lengst oppdaget at alt bak sok: er det JSON søkeobjektet som vi har beskrevet i dokumentasjonen. Alt som gjenstår er å føye til teksten

{«lokasjon»:{«bbox»:»262973,7033178,287844,7046873″},»objektTyper»:[{«id»:45,»antall»:»15000″,»filter»:[{«type»:»Takst liten bil»,»operator»:»<=»,»verdi»:[«30»]}]}]}

bak lenken https://www.vegvesen.no/nvdb/api/sok?kriterie= 

Som da selvsagt blir https://www.vegvesen.no/nvdb/api/sok?kriterie={«lokasjon»:{«bbox»:»262973,7033178,287844,7046873″},»objektTyper»:[{«id»:45,»antall»:»15000″,»filter»:[{«type»:»Takst liten bil»,»operator»:»<=»,»verdi»:[«30»]}]}]} Lenken er klikkbar, men ettersom du da gjør en spørring uten å angi riktig media-Type så er du ikke garantert at resultatet kan vises i din nettleser (ms-ie pleier spørre deg hva du vil gjøre med den json-fila du nettopp fikk, mens Google chrome pleier laste ned og vise XML formattert i nettleser).

Avhengig av klienten du bruker og nettverket ditt kan det hende du må URL encode denne lenken før den brukes — gjør gjerne det, for sikkerhets skyld!

I tillegg til å formattere spørring korrekt skal klientene oppgi ønsket Media-type, det vil si en såkalt http-header der du ber om nvdbdata som enten JSON eller  XML. Se dokumentasjonen.

kreditering — Open Street Map i bakgrunnskart VegKart

I Vegkarts bakgrunnskart bruker vi nå data fra Open Street Map for å vise vegnettet utenfor Norges grenser. Dette skal selvsagt behørig krediteres.

Utenfor Norges grenser viser vi nå data fra Open Street Map

Utenfor Norges grenser viser vi nå data fra Open Street Map

Vi har lagt inn kreditering av Open Street map — sammen med norske bidragsytere (NVDB, Geovekst og kommunene) som et lite tekstfelt i utkanten av kartflaten på Vegkart. Akkurat slik som det skal gjøres:

Eksempel på gyldig OSM akkreditering.

Eksempel på gyldig OSM kreditering. Slik skal vi ha det i Vegkart!

Dessverre vil det ta TID før denne endringen blir satt i produksjon. Men i løpet av 3 måneder skal alt være på plass. Vi kan også føye til at korrekt kreditering inngår i metadata fra bakgrunnskart-tjenesten vi bruker.

Har kun halvparten av ulykkene geometri?

Et vegkart-søk gir kjapt svaret at kun halvparten av ulykkene har egenskapen «Geometri, punkt».

Vegkart-søk - er det virkelig slik at kun halvparten av ulykkene har koordinater?

Har kun halvparten av ulykkene geometri?

Men dette kan da umulig stemme… hvis vi ikke vet hvor ulykken er så kan vi heller ikke knytte den til riktig veg, få statistikk for ulykker per kommune, langs E6 og så videre.

Selvfølgelig er det ikke slik at halvparten av ulykkene ikke er stedfestet

Forvirringen skyldes at ikke alle objekter har det vi kaller egengeometri. Da får man ut koordinater som en egen attributt til objektet, i listen over egenskaper

<egenskap>
<id>5123</id>
<navn>Geometri, punkt</navn>
<verdi>POINT (270201.0 7038482.0)</verdi>
</egenskap>

Alle objekter i NVDB er stedfestet på vegnettet. Detaljene står i lokasjons-objektet, lengre ned.

<lokasjon>
<egengeometri>true</egengeometri>
<fylke nummer="16" navn="SØR-TRØNDELAG"/>
<geometriUtm33>POINT (270201 7038482)</geometriUtm33>
<geometriWgs84>POINT (10.397118021702223 63.40058266939705)</geometriWgs84>
<kommune nummer="1601" navn="TRONDHEIM"/>
<kontraktsomrader>
<kontraktsomrade navn="1606 TrondheimMalvik 2010-2015"/>
</kontraktsomrader>
<politiDistrikt nummer="20" navn="Sør-Trøndelag"/>
<region nummer="4" navn="MIDT"/>
<riksvegruter>
<riksvegrute nummer="6A" navn="RUTE6A"/>
</riksvegruter>
<vegAvdeling nummer="16" navn="Sør-Trøndelag"/>
<vegReferanser>
<vegReferanse>
<fraMeter>403</fraMeter>
<fylke>16</fylke>
<hp>12</hp>
<kategori>E</kategori>
<kommune>0</kommune>
<nummer>6</nummer>
<status>V</status>
</vegReferanse>
</vegReferanser>
<veglenker>
<veglenke til="0.150519" sidepos="NULL" id="72811" fra="0.150519" direction="WITH"/>
</veglenker>
</lokasjon>
<versjonsId>1</versjonsId>
</vegObjekt>

Ulykker uten egengeometri vil mangle parameteren <egengeometri>true</egengeometri>, ellers er lokasjonsobjektet likt. Det beskriver eksakt hvilken veglenke som ulykken skjedde på. Vegnummer, meterverdi og hp-inndeling – og for den saks skyld kommunenummer – kan bli endret gjennom vegutbygging eller administrative vedtak, men veglenke er en persistent koblingsnøkkel på tvers av disse endringene.

Referansegeomerti  – den posisjonen som står i lokasjonsobjektet – er på vegen senterlinje. Dette gir god mening for f.eks. fartsgrenser og trafikkmengde, mens f.eks. et skilt som regel er plassert godt utenfor vegkroppen. Den fysiske posisjonen blir best beskrevet med egengeometri.

I NVDB har vi et par hundre tusen trafikkulykker registrert gjennom cirka 40 år. Rutiner for stedfesting har endret seg ganske mye gjennom disse årene. Datakilde kan være så mangt, som legevakt, sykehus, politi eller Vegvesenets egne folk. Stedfestingen vil derfor ha varierende presisjon, og noen ganger har vi rett og slett ikke nok opplysninger til å gi hverken egengeometri eller knytte ulykken til riktig veg (hvorfor krasher så mange i Nordmarka?)

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.