FME eksempel for segmenterte data

Jeg har laget et FME workspace som utnytter muligheten til å få «delt opp» lange objekter i kortere segmenter. Hvert segment har unike vegreferanseverdier og veglenkeposisjoner. (I tillegg unngår man alle «multilinestring» – geometrier).

Trikset er nøkkeordet inkluder=vegsegmenter (evt inkluder=alle). Slik:

https://www.vegvesen.no/nvdb/api/v2/vegobjekter/616/91452898.xml?inkluder=vegsegmenter

Med NVDB api V2 kan man velge å få lange objekter delt opp i segmenter med unike vegreferanseverdier og veglenkeposisjoner

Med NVDB api V2 kan man velge å få lange objekter delt opp i segmenter med unike vegreferanseverdier og veglenkeposisjoner. Dokumentasjon

Det vil si at i stedet for:

  • en geometri for hele objektet
  • en liste med vegreferanser
  • en annen liste med veglenker
  • og plunder med å koble en veglenke-bit til riktig vegreferanse + riktig bit av geometri

Så får vi

  • Ett eller flere segmenter
  • Hvert segment har sin egen «bit» av objektet med
    • En enkel vegreferanseverd  (med unike  vegnummer hp, frameter og tilmeter)
    • En bit av en enkelt veglenke (ID, fraposisjon, tilposisjon)
    • Geometrien som hører til.

https://github.com/LtGlahn/Nvdbapi_v2_FME#nvdbapi_v2_bruksklassefmw

Kjør java-datakatalogen uten nettleser

Den mest komplette visningen av NVDB datakatalog er et javaprogram med MYE raffinert funksjonalitet: Fargekoder for påkrevde egenskaper, søkefunksjon m.m. Programmet har eksistert en del år, og har mange ivrige og dedikerte brukere.

Skjermdump, javaprogram for å vise datakatalogen. Trafikkulykke.

Det gode, gamle javaprogrammet for å vise datakatalogen har MYE god funksjonalitet og mange ivrige brukere.

En del har problemer med å starte datakatalog-viseren fra denne siden:

Tabell med de ulike versjonene av datakatalogen.

De ulike datakatalog-versjonene vises ved å klikke på versjonsnummeret. I dette tilfellet er 2.06 den nyeste.

Siste gyldige versjon av datakatalogen vises ved å klikke på det høyeste versjonsnummeret (2.05, 2.06 og så videre). Da skal følgende skje:

  1. Nettleseren din laster ned en såkalt jnpl-fil. Dette er en tekstfil med nødvendig informasjon, først og fremst lenker til selve programmet (jar-filer).
  2. jnpl-fil åpnes i java web start. De nøvendige komponentene lastes ned.
  3. Java web start fyrer i gang selve javaprogrammet.

På mange PC’er funker ikke lenger dette oppsettet: Nettleseren er ikke satt opp til å fyre i gang java web start, eller det er deaktivert av sikkerhetsgrunner, eller tusen andre årsaker. Å finne ut av dette kan være veldig pirkete, og kanskje har man ikke rettigheter til å gjøre noe med det.

Da er det langt lettere å fyre i gang java web start med et vanlig kommanduvindu (cmd.exe, ledetekst). Dette er hele kommandoen for å starte versjon 2.08 av datakatalogviseren:

javaws http://tfprod1.sintef.no/datakatalog/dakat-209.jnlp

Resten tar automatikken bak java web start seg av.

Får du denne feilmeldingen:

javaws gjenkjennes ikke som en intern eller ekstern kommando,
kjørbart program eller satsvis fil.

Så har du ikke java installert, eller du mangler java web start – komponenten. Java får du her.

Ett-klikk start av datakatalogen

Skriv kommandoen over inn i en tekstfil, lagre den med navnet dakat-208.bat, og du har en kjørbar fil du kan klikke på.

Her er en zip-fil med en slik bat-fil: datakatalog-209 Last ned, pakk ut. Denne versjonen er også sukret med et par ekstra kommentarer, pluss at vinduet holdes åpent i 15 sekunder, slik at du ser eventuelle feilmeldinger.

Dernest har vi de vanlige standardtricksene for å få noe lettvint å klikke på: Lagre .bat-fila på skrivebordet, eller lag en snarvei til skrivebord, menylinje eller et annet sted der det er lettvint for deg.

Må jeg ha java?

Mange lever veldig godt med de andre visningene vi har av datakatalogen:

Men det er ikke alle behov som dekkes via disse løsningene. Dette Java-programmet er fremdeles den mest komplette visningen av datakatalogen, og har mange ivrige og kyndige brukere.

Fremtidige versjoner

I fremtiden vil nok oppsettet rundt jpnl-filene bli endret; etter hvert vil disse bli flyttet fra server hos sintef til en katalog på www.vegvesen.no. Den offisielle visningen av datakatalogen, inklusive tabellen med lenke til de ulike jpnl-filene, vil du alltid kunne finne her: http://www.vegvesen.no/fag/Teknologi/Nasjonal+vegdatabank/Datakatalogen

Det vil også komme bedre html-visning av datakatalogen (men vi vet ikke helt når).

Utviklerutgave av skrive-apiet tilgjengelig på docker-hub

Vi har nå gleden av å tilby en utviklerutgave av NVDB Skrive-API. Denne er tilgjengelig via docker-hub. Utviklere som ønsker å skrive data til NVDB kan dermed få kjøre en virtuell utgave av  skrive-apiet på sin maskin.

Om NVDB skrive api

Skrive-apiet er et asynkront REST-API som tar imot Endringssett på vårt eget vegobjekt-format. Skrive-apiet er tett knyttet opp mot NVDB og Datakatalogen. For å kunne bruke Skrive-API’et i produksjon, må du:

  • Ha bruker i Statens Vegvesen, med NVDB roller i LDAP
  • Få tildelt datarettigheter i skrive-apiet til de objekttypene, de vegkategoriene og de områdene du ønsker å skrive data for.
  • Ha kjennskap til Datakatalogen: Alle objekter som skal skrives blir strengt validert mot siste utgave av datakatalogen.
  • Ha kjennskap til Vegnettet i NVDB: Skrive-apiet krever at objekter er stedfestet på vegnettet (med angitt veglenkeid og posisjon).

En oversikt over NVDB API’ene, med tilhørende kode-eksempler er tilgjengelig her: https://github.com/nvdb-vegdata/nvdb-utviklerkonferanse-2015 Dokumentasjonen til skrive-apiet pakkes og distribueres sammen med applikasjonen og er inkludert i utviklerutgaven.

Om utviklerutgaven

Denne utviklerutgaven mocker all Statens vegvesen infrastruktur, inkludert NVDB databasen, men lar deg få lov til å utforske kommunikasjonen med API’et og validere dine data. Denne varianten har ingen vegdata og skriver heller ingen data til NVDB. Det er altså bare for å kunne utvikle mot APIet. Den inneholder imidlertid siste versjon av datakatalogen og kan validere innsendte data mot denne.

Docker-utgaven oppdateres når vi oppdaterer skrive-apiet i akseptansetestmiljøet, den vil altså følge neste produksjonskandiat av apiet. Datakatalogen oppdateres fortløpende.

For å få tak i docker-utgaven:

  1. Installér Docker https://docs.docker.com/engine/installation/
  2. Kjør docker run -d -p 8080:8080 –name nvdb-skriveapi nvdbapnevegdata/nvdb-skriveapi
  3. For å stoppe kjør docker stop nvdb-skriveapi

Når docker kjører:

Om alt har gått bra er Skrive-apiet nå tilgjengelig på http://localhost:8080/ på en Linux-maskin. For Windows og Mac kjører docker daemon i en Linux VM og localhost må erstattes med korrekt IP-adresse. For å finne denne åpne et command prompt/terminal og kjør kommando docker-machine ip.

Når man åpner denne siden i nettleseren vises en side der man kan velge innlogging. Dette er ikke knyttet til reelle brukere, men dummybrukere som kun lever i SDKen. Når bruker er valgt vil man bli sendt til /nvdb/apiskriv. Her ligger lenke til dokumentasjonen av APIet, og en testklient som kalles Generator.

Generator-klienten viser eksempler på requester som sendes til APIet, og forventet respons fra APIet.

Logge inn i skrive-apiet programatisk

For å opprette en sesjon programmatisk kan du POSTe ønsket user-id til /login (eks: user-id=toillbaill). Da blir en serversesjon opprettet. For å bruke denne sesjonen må du bruke JSESSIONID-cookien som returneres ved login.

Feilsøk:

Loggene til Skrive-APIet nås ved å utføre:

docker exec -it nvdb-skriveapi bash
cd maven/apache-tomcat-8.0.32/logs

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.

Trafikkmengde der står bomstasjoner

Vi elsker spørsmål — det gir oss føling med behovene der ute, og vi lærer masse av å svare på dem. Men av og til må vi svare nei:

Jeg lurte altså på om det var mulig å få ut trafikkdata (ÅDT) på bomstasjonene i tillegg til de andre variablene som ligger tilgjengelig på bomstasjonsdatasettet hos DIFI.

Grunnen til at vi svarer nei er at det skal svært gode grunner til at vi oppretter nye sekundære datasett. Det beste er å hente data direkte fra NVDB api’et eller fra Vegkart (der man også kan laste ned cvs og excel). Vi kan heller bidra med tips, tricks og vink, samt selvsagt forbedre tjenestene våre. Bomstasjon-datasettet er i en særstilling, det ble lansert før NVDB api’et og er så populært at vi må vedlikeholde det.

En svakhet ved NVDB api’et (og vegkart) er at vi ikke kan gjøre spørringer på objekter som er knyttet til samme sted — for eksempel trafikkmengde der det står bomstasjoner. Denne logikken må i dag skrives på klientsiden.

Dette spørsmålet er en ypperlig anledning til å gi et kodeeksempel på hvordan man finner vegobjekter som deler posisjon i vegnettet.

Prinsippet er at man først henter det minste dataasettet (bomstasjoner). Deretter finner man veglenkene til hver bomstasjon.

"veglenker": [ {  
    "id": 625504,
    "fra": 0.162819,
    "til": 0.162819,
    "direction": "WITH",
    "felt": "2#4K",
    "sidepos": "NULL"
 } ]

Veglenke ID, til og fra brukes til å søke etter trafikkmengde på akkurat den samme posisjonen for denne veglenka. Dette inngår i lokasjonselementet i NVDB api’ets søkefunksjon. I tillegg angis vi objekt ID etc på vanlig måte. Formattert for lesbarhet ser kallet slik ut

https://www.vegvesen.no/nvdb/api/sok?kriterie={'lokasjon': 
   {'veglenker': [{
         'fra': 0.706074, 
         'til': 0.706074, 
         'id': 1811554}
       ]}, 
     'objektTyper': [{
        'start': 0, 
        'id': 540, 
        'antall': 1}
      ]}

Fjerner vi formatteringen og gjør litt URL encoding får vi lenke til et  gyldig søkeeksempel (nettleseravhengig; google chrome gir deg en pent formattert xml).

Hoppsann — her fant vi visst en bug i ny versjon av API’et

Det viser seg at siste API-versjon (produksjonssatt 10.9) returnerer en liste der det samme objektet finnes to ganger. Indekseringsfeil, feilen rettet 17.9.

Men 18 bomstasjoner mangler trafikkmengde!

Det er ikke alle veglenker som har trafikkmengde. Ett eksempel er dette krysset ved Lysaker:

Trafikkmengde finnes ikke på alle ramper og forbindelser i Lysakerkrysset

Grønne prikker er bomstasjoner, blå linjer er trafikkmengde. Vi mangler trafikkmengdedata for Strandveien og forbindelsen E18-Strandveien.

Manglende data er kodet som  «-9999».

Hvor finner jeg data og kode?

Github, selvsagt. Og det er mulig å laste ned en CSV-fil generert den 10.9.2014.

Vi har behold de samme egenskapene som for bomstasjonene på Difi’s datahotell, men har lagt på noen nye:

bomstasjonId - NVDB ID til denne bomstasjonen
aadtTotal - ÅDT, total, d.v.s. årsdøgntrafikk
aadtLGV - ÅDT, andel lange kjøretøy
aadtYear - ÅDT, gjelder for 
aadtId - NVDB ID til denne trafikkmengdeforekomsten

Med NVDB ID er det enkelt å se nærmere på det enkelte vegobjekt. For eksempel bomstasjonen i Drammensveien med ID 86574496

https://www.vegvesen.no/nvdb/api/vegobjekter/objekt/86574496

… og vårt pythonscript har allerede funnet at på denne veglenka har vi denne trafikkmengden:

https://www.vegvesen.no/nvdb/api/vegobjekter/objekt/328461107

Vi ville ikke vært geodatafolk om vi ikke hadde lagt til rette for visning på kart

Derfor skriver vi også to geojson-filer: En som er identisk med bomstasjoner.csv, og en som viser trafikkmengde som strekningsobjekter. (På desktop har github en enkel kartvisning av disse objektene.

Vegdata for navigasjon

Linda Therese Støeng og Knut Jetlund, Statens vegvesen, og Tore Abelvik, Statens kartverk

Statens vegvesen, Statens kartverk og kommunene samarbeider om innsamling, kvalitetssikring og leveranser av data for navigasjon i vegnettet.

 

Tjensvollkrysset i Stavanger. Foto: Knut Opeide, Statens vegvesen

Tjensvollkrysset i Stavanger. Foto: Knut Opeide, Statens vegvesen

Ruteplanlegging, flåtestyring og sanntidsnavigasjon i vegnettet ved hjelp av satellittnavigasjon og digitalt vegnett har blitt en sentral del av hverdagen for både privatpersoner, transportnæringen og ikke minst nødetatene. Med utgangspunkt i nettverksdata og avanserte beregningsalgoritmer finner systemene beste veg mellom to posisjoner. Dette sparer tid for den enkelte og for transportørene, det sparer miljøet for unødvendige utslipp, og det redder liv og verdier ved at nødetatene kommer raskere fram til riktig adresse.

Vi gjør oss avhengige av løsningene, og forventer at data til en hver tid er oppdaterte — samtidig som konsekvensene av feil i data eller feil bruk av dataene kan være dramatiske

Samtidig er det også slik at vi gjør oss avhengige av løsningene, og forventer at data til en hver tid skal være oppdaterte og korrekte. Konsekvensene av feil i data eller feil bruk av dataene kan være dramatiske, enten det er utenlandske vogntogsjåfører som kjører seg fast på vinterstengte fjellveger, eller enda verre: et utrykningskjøretøy som kjører feil og bruker for lang tid på å finne fram til skadestedet.

Det stilles andre krav til data til bruk i nettverksnavigasjon enn til vanlige kartdata. Et navigerbart nettverk må henge sammen i kryss, og lenkene må kjenne hvilke andre lenker de henger sammen med (nettverkstopologi). Nettverket har også restriksjoner og begrensninger som styrer hvor det er mulig og tillatt å ta seg fram. Dette kan for eksempel være envegskjøringer, svingerestriksjoner, fartsgrenser eller høydebegrensninger. I kompliserte kryss med flere felt er det behov for informasjon om hvilket felt man skal plassere seg i for å komme videre dit man skal.

Andre data skal også henge sammen med nettverksdataene. Spesielt gjelder dette adressedata, der det er viktig å ha den logiske sammenhengen mellom et adressepunkt og tilhørende veg. I mange tilfeller kan nærmeste veg til et adressepunkt være en annen enn den innkjørselen går fra, og ved manglende kobling kan da kostbar tid gå tapt ved en utrykning.

Denne artikkelen beskriver forvaltning, kvalitetssikring og distribusjon av vegdata. Adressedata forvaltes i Matrikkelen, og er ikke tema for artikkelen.

Forvaltning av vegdata

Det digitale vegnettet og informasjon knyttet til dette forvaltes i Nasjonal vegdatabank, NVDB. Det topologiske vegnettet er selve basisnettet i NVDB, og all annen informasjon knyttes til dette basisnettet. På denne måten kan vegnettet holdes stabilt selv om tilhørende informasjon som fartsgrenser, vegbredder osv. endres, og informasjon kan også knyttes til vegnettet uavhengig av kanalisering og inndeling i felt.

Data for europa-, riks- og fylkesveger forvaltes av Statens vegvesen gjennom kontinuerlig oppdatering, og viktige endringer skal være på plass i NVDB ved åpning av veganlegg. Data for kommunale, private og skogsbilveger forvaltes av Statens kartverk etter periodiske innmeldinger fra kommunene i forbindelse med forvaltningsrundene for FKB. Statens vegvesen og Statens kartverk avsluttet i 2013 et fellesprosjekt for forbedring av vegnettsgeometrien i NVDB, og dette prosjektet ga spesielt en markant forbedring på fullstendighet og nøyaktighet på kommunale, private og skogsbilveger.

Dataflyten mellom Statens kartverk og kommunene har vært en utfordring over tid, og for å bedre denne er det nå utviklet et eget forvaltingsdatasett, FKB-Vegnett. Datasettet eksporteres fra NVDB, og kommunene bruker så dette for å melde endringer tilbake til Statens kartverk. Statens kartverk kvalitetssikrer endringene, og legger disse inn i NVDB. Det er også satt i gang et arbeid i regi av Geovekst på forvaltningsstrategi for primærdata. En egen arbeidsgruppe for vegtema omfatter blant annet FKB-Vegnett. Det er grunn til å tro at arbeidet vil gi ytterliggere forbedring av forvaltningen, med bedre muligheter for kommunene for å rapportere endringer fortløpende. Videre er det utviklet en ny vegnettseditor for NVDB, som allerede etter kort tids bruk hos Statens vegvesen og Statens kartverk viser positive resultater.

Statens kartverk har som mål å ta tak i endringsdata fra kommunene fortløpende. Dette har vært en utfordring til nå, men med nytt redigeringsverktøy og nye forvaltningsrutiner er det håp om at situasjonen vil bli mye bedre.

Kvalitetssikring

Vegdata skal gjenspeile det fysiske nettverket med topologi, kanalisering og felt, samt restriksjoner og annen informasjon knyttet til nettverket. Konsekvensen er at datamodell og redigering av data blir noe mer komplisert enn vanlige kartdata. Statens vegvesen og Statens kartverk har derfor egne spesialister som sitter på fulltid med redigering og kvalitetssikring av vegnett.

Som nevnt i innledningen kan konsekvensene av feil og mangler i vegdata være dramatiske, og det er derfor behov for en sentral kvalitetssikring av data som skal legges inn. Dette omfatter geometri og topologi, med krav om sammenheng i nettverket på ulike detaljeringsnivåer, fullstendighet på restriksjoner mm.

Det stilles andre krav til data til bruk i nettverksnavigasjon enn til vanlige kartdata

I tillegg til kvalitetssikringen ved innlegging av data kjøres det også en rekke kontroller og tilhørende oppretting i forbindelse med leveranse av produkter fra NVDB. Dette omfatter test av sammenhenger og logisk konsistens i nettverket, og beregning av kjente ruter for å finne avvik. Typiske situasjoner er små gap eller manglende sammenkoblinger i nettverket, som fører til at en rute blir lagt via store omveger.

Distribusjon

Det finnes i dag flere kanaler ut for vegdata fra NVDB. De ferskeste dataene er tilgjengelige via NVDB-API, som gir enkel og rask tilgang til både vegnett og annen informasjon. Enkelt innsyn i dataene via NVDB-API er mulig både via portalen Vegkart (https://www.vegvesen.no/vegkart/vegkart/) og gjennom egne tillegg for vanlige GIS-løsninger. Statens vegvesen har fått mye skryt for å åpne opp tilgangen til NVDB gjennom NVDB REST-API, og ble i 2013 kåret av Difi til Norges mest åpne etat på bakgrunn av nettopp dette.

For leveranse av produkter og tjenester for nettverksnavigasjon er det imidlertid ikke nok med tilgang til de ferskeste dataene. Da vil en fort kunne få feil i form av at en ny veg er lagt inn i datasettet, men at viktige restriksjoner ikke er lagt inn enda. Et annet eksempel er manglende koblinger på grunn av at bare deler av et nytt veganlegg er lagt inn. Det er derfor viktig å kunne tilby kvalitetssikrede, versjonerte produkter og tjenester.

Elveg er et slikt produkt som har eksistert i mange år. Dette produktet leveres i samarbeid mellom Statens vegvesen og Statens kartverk fire ganger i året (http://data.kartverket.no/download/). Produktet består av kommunevise datasett med vegnett, restriksjoner og adressedata. I forbindelse med produksjon av Elveg kjøres en rekke tester og opprettinger slik det er omtalt over. Elveg har sine klare svakheter, og i første rekke gjelder det hyppighet på leveranser, kommunevise datasett, kun SOSI-format, og et begrenset utvalg restriksjoner i tekstfiler. Likevel er Elveg et produkt som blir aktivt brukt av mange.

Mer moderne løsninger er å tilby kun endringsdata, leveranse av en komplett, landsdekkende nettverksdatabase i åpne formater, og ikke minst ruteplanlegging som en tjeneste. I dette inngår også en bedre kobling mellom gater i vegnettverket og adressepunkt fra Matrikkelen.

Vi arbeider med alle disse løsningene, og både ruteplantjenesten og databasen som brukes i den er tilgjengelige via data.norge.no (http://data.norge.no/data/statens-vegvesen/vegnettsdata-til-navigasjon). Mer moderne løsninger gjør det også enklere for tilbydere av data og tjenester å levere oppdaterte produkter til brukerne.

Utvidet nettverk

Vegnettet i NVDB omfatter alle kjørbare veger, samt skiltede gang- og sykkelveger. Tradisjonelt har bruksområdet for denne typen data vært bilnavigasjon, men vi ser i økende grad at det digitale vegnettet må ses på som en del av et større, multimodalt nettverk der både bil, buss, tog, båt og fly inngår, samt nettverk for gående og syklende. Dette ser vi blant annet gjennom arbeidet med INSPIRE Transport Networks.

Vegvesenet er en aktiv pådriver i arbeidet med norges leveranser av Inspire Transport Networks.

Vegvesenet er en aktiv pådriver i arbeidet med norges leveranser av Inspire Transport Networks.

De ulike transportformene må bindes sammen av overgangsnoder, og i tillegg er det behov for registrering av stier og snarveger der syklister og fotgjengere tar seg fram. Også traktorveger som ikke er kjørbare med vanlig bil er viktige lenker i et komplett nettverk, for eksempel for utrykningskjøretøy.

Det nye primærdatasettet FKB-TraktorvegSti er et trinn på vegen mot et mer komplett nettverk. Datasettet skal omfatte stier, gangveger, traktorveger mm. som i dag ikke inngår i NVDB. Mye av dette finnes allerede i produkter som N50, men gjennom FKB-TraktorvegSti skal dataene samles og struktureres bedre for bruk som nettverksdata.

Både nasjonalt og internasjonalt er løsninger og tilrettelagte data for navigasjon i vegnettet et stort forretningsområde. Begge de to store internasjonale leverandørene av data ble kjøpt av andre aktører i 2008: Navteq ble kjøpt av Nokia for 40 milliarder kroner, mens TeleAtlas ble kjøpt av TomTom for 23 milliarder kroner. Det er her verdt å merke seg at Nokia pekte på data til fotgjengernavigasjon som en av de store motivasjonsfaktorene for å gå inn på dette området. Parallelt med disse bygger også Google sitt eget nettverksdatasett.

Alle disse aktørene bruker store summer på å vedlikeholde sine datasett. I Norge har vi en skattkiste i form av NVDB, en løsning andre nasjoner misunner oss sterkt og som de private aktørene har stor glede av. Men vi er avhengige av at både innsamling, foredling og distribusjon av data skjer på en måte som sikrer kvalitet og oppdaterte data. Og disse prosessene skal vi forbedre videre for å kunne tilby enda bedre data og løsninger for navigasjon i et komplett, framtidsrettet nettverk.

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.