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.

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

Vi gratulerer Vegvesenet med ny fagblogg

Vi vegnettsnerder på vegdata.synes flere fagfolk burde «blogge på seg», og fortelle litt mer om det de driver med. Derfor GRATULERER hjerteligst vi våre kolleger som forsker på ny og kreativ bruk av teknologi innen trafikksikkerhet, miljø og vegteknologi. Vi som jobber med NVDB har en del samarbeid med dem, og vet at de gjør mye spennende og bra.

Ellers presenterer de bloggen sin best selv:

Velkommen til På-veg-bloggen vår. Vi har latt oss inspirere av Statens vegvesens visjon som forteller at vi er på veg for et bedre samfunn. For å komme oss dit trenger vi stadig påfyll av ny kunnskap, nye metoder og ny teknologi som kan hjelpe oss til å få folk trygt fram på en måte som ikke skader mennesker og miljø.

Vi som blogger arbeider med forsknings- og utviklingsoppgaver på Trafikksikkerhets-, miljø og teknologiavdelingen i Statens vegvesen Vegdirektoratet. Her vil vi dele faglige synspunkt og sette søkelyset på teknologiske løsninger og utviklingsprosjekt som kan bidra til en sikrere og mer miljøvennlig vegtrafikk.

Vi er stadig «På veg..», noe som betyr at mange av sakene vi skriver om utviklings- og forskningsoppgaver som ikke er avsluttet og der sluttstrek enda ikke er satt. Faglige diskusjoner er en viktig del av det å være på veg. Vi er derfor takknemlig for dine innspill og tilbakemeldinger som kan hjelpe oss i videre arbeidet.

Adressen er https://paavegblogg.wordpress.com/

Og som alle wordpress-blogger: RSS-feed er https://paavegblogg.wordpress.com/feed/

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.

Vi gratulerer Trondheim kommune – 10.000 skilt i NVDB

Vi gratulerer Trondheim kommune med å registerere mer enn 10.000 skiltplater på det kommunale vegnettet i Nasjonal Vegdatabank!

For eksempel er det nå 1.173 skiltplater med «Parkering forbudt» (per 8.1.2015). Vegkart-søk

Vi har nå 1.173  parkering forbudt-skilt på kommunale veger i Trondheim (per 8.1.2014)

Vi har nå 1.173 parkering forbudt-skilt på kommunale veger i Trondheim (per 8.1.2014)

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.

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!

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.