Hvordan får jeg NVDB-data inn i kartsystemet mitt?

Hvordan kan jeg få NVDB-data inn i kartsystemet mitt? Enten som ferdige kartlag (f.eks. WMS), eller som redigerbare data.

Beklager – ingen WMS kartlag (foreløbig)

WMS – tjenester med de mest brukte kartlagene vil komme, vi finpusser på geoserver-oppsettet og dataflyten internt, men her er det et par snublefeller vi må fikse. Vi oppdaterer artikkelen med detaljer så snart vi har det tilgjengelig.

 

Løsning for Arc Map

For Arc Map har vi en add-in som leser data direkte fra NVDB api, hent den her.

Løsning for QGIS

Gjør Vegkart-søket ditt, klikk der det står «treff» og last ned CSV-fil. Denne kan du legge til QGIS med et par museklikk.

  1. Lag -> Legg til Lag -> Legg til skilletegn tekstlag
  2. Velg filnavn og juster et par innstillinger, ref liste og skjermdump nedenfor. QGIS husker hva du gjorde forrige gang, så du trenger stort sett kun fikle med dette én gang.
  3. Klikk «Legg til».

Innstillinger:

  • Filnavn
  • Tegnsett: latin1 (eller hvis du har norsk PC-oppsett så pleier «system» funke bra)
  • Under filformat: semikolon som separator
  • Brukerdefinerte skilletegn: » (dobbelt anførselstegn) i boksene Sitat og Avbryt
  • Geometry definition: Well known text (WKT)
  • Gemetrifelt: geometri
    • Les nederst i artikkelen om snublefeller mhp geometrityper og hva du evt oppnår med å velge kolonnen «Geometri, Punkt», «Linje» eller «Flate» når de finnes
  • Geometritype: Oppdag
  • Geometry CRS: EPSG:25833 – ETRS89 / UTM sone 33N

 

Typiske QGIS-innnstillinger for å lese inn vegkart CSV-dump

Typiske QGIS-innnstillinger for å lese inn vegkart CSV-dump

Python

 

Minst to vegvesen-kolleger har laget egne bibliotek for å søke mot NVDB api og håndtere svarene derfra. Samt litt anna snacks:

import pandas as pd
pd.DataFrame.from_csv( 'datadump-fra-vegkart.csv', encoding='latin1', sep=';')

FME

https://github.com/LtGlahn/Nvdbapi_v2_FME

Geometri er snublefelle for import av NVDB data

Alle NVDB-data er knyttet til vegnettet. Noen objekttyper – f.eks. bomstasjon, skiltplater og belysningspunkt – er knyttet til vegnettet i et punkt på vegens senterlinje. Dette sklir rett inn i alle kartsystem vi har prøvd til nå.

Andre datatyper, for eksempel fartsgrenser, er knyttet til vegnettet på en eller flere strekninger langs senterlinja. Ikke alle kartsystem er like glade for å møte en slik blanding av enkle linjer (LinesString) og grupper av linjer (MultiLineString) i samme datasett. Se definisjonen av Well Known Text, den gir en god innføring.

Hvis det er kronglete at datasettet har en blanding av enkle- og multilinjer så kan man gå rundt problemet ved å erklære at alle linjer er MultiLineString. Mange av «Multi»-gruppene vil da kun har ett eneste medlem, men det er greit.

Alternativet er å splitte datasettet to, en tabell med enkle linjer og en med multi-linjer. Mange kartsystem gjør en av delene automatisk når det trengs.

Egengeometri eller ei?

Men det meste av vegustyr blir aldri montert på noen senterlinje – det står på siden av vegen (evt over eller under). Derfor har vi innført såkalt egengeometri, det vil si koordinatene for den fysiske plasseringen. Eldre data er gjerne registrert uten egengeometri (f.eks. mye holdeplassutrustning), mens nyere vegutstyr som regel har egengeometri.

  • Egengeometri er en egenskap med ett av disse navnene:
    • Geometri, Punkt
    • Geometri, Linje
    • Geometri, Flate.
  • Eller hvorfor ikke alle 3 på en gang? Trær i NVDB har denne valgfriheten
  • Hvis du vil skille objekter med og uten egengeometri fra hverandre kan du bruke filtre som Geometri, Punkt har verdi

Selv synes vi at NVDB sin modell er genial og fleksibel, men dette skaper en del kluss for dem som skal håndtere data.

Hvor finner jeg kollektivfelt?

Hvordan kan jeg finne kollektivfelt eller andre typer kjørefelt i NVDB?

Informasjon om kjørefelt er i NVDB lagret på de enkelte veglenke-delene. Den som liker å programmere kan lese mer om datastrukturen her: http://api.vegdata.no/endepunkt/vegnett.html

For resten av oss er 616 Feltstrekning til stor hjelp. Inntil relativt nylig var det på denne objekttypen vi lagret oversikt over kjørefeltene. Denne blir fremdeles holdt a jour: Ved vegnettsredigering kopieres kjørefelt-informasjon fra veglenkene over på 616-objektet, mer presist som tekst i egenskapsverdien feltoversikt.

Fiffige vegkart-søk med stjernefilter

Kollektivfelt har koden «K», og vi finner dem med filteret «feltoversikt = *K*. De to stjernene (*) betyr at du kan ha hvilken som helst tekst foran og bak bokstaven K.

Søk etter kollektivfelt med objekttypen 616 feltstrekning og filteret feltoversikt = *K*

Lenke til dette vegkart-søket

Hva betyr tallene og kodene?

Feltene er numerert i stigende rekkefølge fra senterlinja og utover, oddetall til høyre og partall til venstre, sett fra starten på veglenka.

Oversikt over hvordan vi teller kjørefelt i NVDB

Felt uten bokstaver er helt vanlige kjørefelt, mens spesialfelt som sykkelfelt (S), kollektivfelt (K), ferjeoppstillingsplass (O) og svingefelt (H eller V) har egne bokstavkoder i tillegg til nummerering.

Den fulle oversikten finnes i den utmerkede håndbok v830 Nasjonalt vegreferansesystem, der figuren er hentet fra.

Hashtag # som skilletegn!

Vi bruker hashtag – # – for å skille kjørefeltene fra hverandre.

Hashtag er skilletegn mellom kjørefeltene

Program for Utviklerdag for Åpne Vegdata Fredag 27. oktober

Utviklerdag for Åpne Vegdata – Vegen til APIet til vegen

Vi ønsker å skape en samarbeidsarena for systemeiere, utviklere og leverandører som jobber med våre data. Det blir derfor også i år arrangert en utviklerdag for Åpne Vegdata i forlengelsen av Statens Vegvesens teknologidager.

Bli med og påvirk fremtidens Åpne Vegdata!

https://www.vegvesen.no/fag/fokusomrader/Forskning+og+utvikling/Teknologidagene/teknologidagene-2017

  • Tid: Fredag 27. Oktober kl10-15
  • Sted: Clarion Hotel & Congress i Trondheim
  • Møterom: Cosmo 3A
  • Påmelding: https://goo.gl/kKbbaC

Program

Programmet er delt i to deler – en generell del med fokus på oversikt og overordnet presenasjon av løsningene før lunsj og en mer detaljert del med fokus på detaljer etter lunsj.

Tid Innhold Foredragsholder
1000 Velkommen Per Andersen, Leder av Nasjonal VegdataBank – NVDB
1010-1100 Oversikt over Åpne Vegdataporteføljen
Overordnet presentasjon over APIene og prinsippene bak.

Annonseringer

  • Oppdatert dokumentasjon på GitHub Pages
  • Etablering av Referansegrupper for API LES og SKRIV
  • Utfastingsdato for API LES V1
Terje Brasethvik, NVDB & Geodataseksjonen, Vegdirektoratet
1100-1200 Demonstrasjoner / diskusjoner om  bruk

  • VegAR – vegdata på mobilen
  • Datainn – egen løsning for trafikkdata
  • Ulykker i mørket
Martin Bårnes, Kantega
Lars Meisingseth, Prosjektleder Datainn, Vegdirektoratet, trondheim
Terje Brasethvik, NVDB & Geodataseksjonen
1200-1300 Lunsj
1300-1400 LES / Vegkart

  • Demonstrasjoner
  • Detaljert presentasjon
  • Spørsmål og svar
  • Påmelding til referansegruppe
Marvin Lillehaug, Kantega
1400-1500 Skriv / Datafangst

  • Demonstrasjoner
  • Detaljert presentasjon
  • Spørsmål og svar
  • Påmelding til referansegruppe
Terje Brasethvik, NVDB & Geodataseksjonen, Vd

Espen Hjertø og Jostein Munz, Kantega

1500 Takk for i dag!

Velkommen!

NVDB og Geodataseksjonen, Vegdirektoratet, Trondheim

Hva betyr kommune- og regionreformen for NVDB?

Kommune og regionreform medfører at det er nødvendig å gjøre endringer i NVDB. Noen av disse endringene kommer allerede frem mot 1/1 2018.

Større endringene som NVDB må gjennomføre for å imøtekomme kommune- og regionreformen frem mot 2020 vil ikke tre i kraft i år. Disse endringene vil være en del av et større NVDB prosjekt som har sin oppstart høsten 2017.

Les videre

Status NVDB og Geodata februar 2017

Nå er det en stund siden forrige statusbrev, utsender har vært litt fraværende, men nå er vi i gang igjen!

Noe av det som skjer denne måneden:

Ny versjon av datakatalogen kommer i slutten av februar.

Kodefrys på NVDB klassisk førstkommende fredag.

Systemtest for Åpne Vegdata er underveis.

Sammen med Region midt skal vi registrere skilt i Molde med Vionice sin mobilteknologi, vi vil sammen sjekke resultatene opp mot allerede registrert data med egengeometri før Region midt bestemmer registreringsmetode for sesongens registrering av fartsgrenseskilt.

Flere og bedre bomstasjoner i NVDB

Sammen med brukerfinansiering har Jan Kristian Jensen hatt en dugnad på bomstasjoner. I flere kryss manglet vi innkreving på rampene. Dette løste vi ved å legge til nye bomstasjoner på rampene i kryss ved Lysaker, Fornebu og Ekeberg, samt på Moholt og Tonstad i Trondheim. Andre bomstasjoner har fått en finpuss på innkrevingsretning. Kvalitetssikring blir vi aldri ferdig med – finner du mangler vil vi gjerne ha beskjed! Gjerne i fiksvegdata.

Færre fylker – flere problemer?

Pga regionreformen vil vi fjerne fylke- og kommunenummer fra vegreferanseobjektet. Mange NVDB-brukere sorterer data på fylke og vegnummer. Dette er neppe et problem for brukere av NVDB api, men en del systemer i NVDB klassisk–familen kan få problemer. (Mer spesifikt: Dem som leser fylkesnummer ut fra vegreferansen). Mest sannsynlig kommer det også andre endringer: Det er for mye logikk lagt inn på vegreferanse-objektet, og nå er et bra tidspunkt å løse opp i dette. Mye er uklart, Martin Fredriksen og Jan Kristian Jensen jobber med dette.

Valg av ny kartklient avgjort

Etter en lengere evalueringsperiode av løsninger fra Geodata AS og Norkart AS har valget falt på en løsning basert på ArcGis Server levert av Geodata AS.

Bakgrunnen for prosessen og valget er at Statens vegvesen har avtale om GIS-programvare fra to leverandører. Begge leverandørene leverer en såkalt etatsrammeavtale som inneholder en portefølje med moduler slik at det ikke har vært nødvendig å gå ut med ny konkurranse for å velge løsning. Vi har altså evaluert kartklienter vi allerede har tilgang til gjennom eksisterende avtaler fra Norkart AS og Geodata AS.

Viktige momenter ved valg av løsning har vært:

  • Løsning som kjører i SVV driftsmiljø
  • Rik funksjonalitet
  • Fleksibel tilgang til tjenester fra Norge digitalt og andre integrert i klienten
  • Matrikkelen
  • Norge i bilder
  • Geonorge
  • Bruker kan selv søke opp og legge til tjenester
  • Kobling mot NVDB
  • Visning og søk på vegreferanse
  • Visning og søk på fagdata
  • Fleksibelt og enkelt administrasjonsgrensesnitt
  • Kompetanse og erfaring med ArcGis Online/Geodata Online
  • Analyse- og rapporteringsfunksjonalitet
  • Bruker kan lagre egne prosjekter og dele egne prosjekter

Konklusjonen ble at løsning levert av Geodata AS vil være den beste løsningen for Statens vegvesen.

Ferdigstillelse av NVDB AddIn for ArcGis Desktop

NVDB AddIn har i lengre til eksistert som en prototype, men vi har nå bestilt ferdigstillelse av modulen slik at vi får en stabil og robust løsning. NVDB AddIn er et lite programtillegg som henter data direkte fra NVDB og inn i ArcMap. NVDB AddIn gjør data fra NVDB lett tilgjengelig for videre bearbeiding i ArcMap. Programtillegget deles fritt internt og eksternt.

NVDB AddIn versjon 1.0 ventes å bli tilgjengelig ved utgangen av mars.

 

 

Bilder lånt fra adressa.no, radioh.no, esri

I 2016 hadde vi 423 millioner oppslag mot NVDB api

423 millioner oppslag er jo en del. Klientapplikasjonen «Ukjent» står for mesteparten, med vegkart som god nummer 2.

For din egen del er det lurt om du angir X-Client og X-Kontaktperson i headeren på kallet, slik som beskrevet her:

"X-Client": "NVDB Rapporter" 
"X-Kontaktperson": "ola@nordmann.no"

Da får vi muligheten til å kontakte deg om noe er galt, og din applikasjon kommer med i statistikken.

statistikk-forenklet-2016

Historiske data, trafikkmengde

Flere har etterspurt historikk for trafikkmengde fra NVDB. Nå er det lagt ut her på spatiaLite (sqlite) og esri filgeodatabase (.gdb) – format.

ftp://vegvesen.hostedftp.com/~StatensVegvesen/opnevegdata/historiskedata

Historikk kan fremstilles på flere måter. Det vanligste er nok øyeblikksbilder, det vil si at vi gjengir situasjonen slik det var registrert på en gitt dato. I stedet har jeg valgt å legge ut FULL historikk på ALLE trafikkmengde-objekter i NVDB. Det gir et riktigere bilde av datasettet, og åpner for flere typer analyser. Denne presentasjonen er kanskje til hjelp, den viser i hvert fall noen av problemene grafisk.

Vi regner med å ha en form for historikk tilgjengelig i Vegkart og NVDB api i løpet av 2017 2018?– med forbehold om at andre oppgaver kan smyge seg foran i køen. Vi er heller ikke sikre på hvilke funksjoner dette vil inneholde – mest trolig en form for øyeblikksbilder, dvs at man kan søke per dato.

Trafikkmengde er ikke koblet mot vegreferanse. Hvis du er avhengig av å vite et spesielt vegnummer så må du koble dette mot vegreferanse-informasjon (som også er publisert, samme sted).

Egenskapsnavn og verdier

Jeg har valgt å bruke de samme egenskapsnavnene som  arc map NVDB plugin – med noen tilpasninger. Så hvis du laster ned ferske data med Arc map vil du kjenne igjen – og forhåpentligvis kunne bruke datasettene litt om hverandre.

Rent praktisk betyr det at vi unngår slikt som komma, mellomrom og slasher, men ikke er redd for norske tegn. Underscore ( _ ) brukes i stedet for tegn vi ikke liker. Det betyr at ÅDT, total har blitt til ÅDT__total. 

Dette med navngiving er en av grunnene til at det litt krevende å lage «datadumps» fra NVDB – i hvert fall hvis du ønsker å bli brukt i annen programvare. Internt i NVDB brukes kun numeriske ID’er for å holde styr på ting, men ÅDT__total er en smule mer brukervennlig enn 4623. Men ikke alle NVDB-navn er så rett fram!

Det er mye progamvare som furter litt over egenskapsnavn som  Merknad Skade på erosjonssikring ved inn- og utløp. 

Å oversette 4122 egenskapsnavn (datakatalog v2.07) til noe som er lesbart både for menneske og maskin er … dessverre ikke helt rett fram.

Mer teknisk

Disse dataene er ikke hentet direkte fra NVDB, men fra et søstersystem vi kaller TNE (Transport Network Engine). Her er NVDB-data tilrettelagt for GIS-formål – og dette innebærer en del kompromiss. Blant annet blir NVDB-data kappet i mindre biter hvis f.eks. de er lengre enn én veglenke eller ett vegreferanse-objekt. Bitene blir numerert med variabelen TNE_SEQ_NO. I tillegg har TNE sin egen forståelse av topologinivå: Vegtrasé, kjørebane og kjørefelt oversettes til tallkoder (0-3) i egenskapen TNE_topologylevel. For sporbarhet lar vi denne informasjonen følge med datasettet.

Dette er IKKE en komplett gjengivelse av navigerbart vegnett. Det er et utdrag av fagdata på øverste topologinivå. Man kan få en forståelse av vegnettets utbredelse og endring over tid, og det har sikkert mange anvendelser. Men ruteplanlegging er IKKE blant de tingene dette datasettet bør brukes til.