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

Hvordan laste vegnett fra NVDB inn i QGIS med 6 linjer Python

I dag ble Kartverkets og Statens vegvesens skattekister åpnet, et frislipp mange har ventet på lenge. Vi hadde gleden av å presentere en ny prototype for dataleveranser av vegnett, hvor vegnettet kan hentes på GeoJSON-format gjennom en REST-basert webtjeneste: http://vegnett.vegdata.no/ Prototypen er lagt i graven

Kombinasjonen GeoJSON og REST kan gi mange muligheter i GIS-verktøy, spesielt de som har integrasjon mot språk som Python. Dette innlegget beskriver hvor enkelt og raskt det er å importere vegnettet inn klienten Quantum GIS (QGIS), som er basert på åpen kildekode.

APIet som tilbyr vegnett har foreløpig ikke mange paremetere, siden det kun er en prototype. En bruker har følgende valg:

  • Hent vegnettet innenfor hele Norge, innenfor et bestemt fylke, eller innenfor en bestemt kommune.
  • Hent vegnettet innenfor én eller flere vegkategorier: Europaveg (E), RIksveg (R), Fylkesveg (F), Kommunalveg (K), Privatveg (P), Skogsbilveg (S)

For å importere vegnettet inn i QGIS, er det ønskelig å lage en funksjon i Python som oppretter et nytt vektorlag. Funksjonen skal ha tre innparametere:

  1. Lokasjon
  2. Vegkategorier
  3. Lagnavn
def lag(sted, vegkategori, navn):
    api = 'http://vegnett.vegdata.no/nvdb/api/vegnett/' 
    uri = api+sted+'.json?kategori='+vegkategori

    lag = QgsVectorLayer(uri, navn, "ogr")
    QgsMapLayerRegistry.instance().addMapLayer(lag)

UTDATERT – denne vegnetts-prototypen eksisterer ikke lengre. Vegnettsendepunktet til NVDB api V1 kan brukes i stedet. Eksempel 

Merk at NVDB api’et V2 har fått nytt vegnett-endepunkt.

Ovenfor er den ferdige funksjonen, med 5 linjer Python-kode, pluss et mellomrom for å øke lesbarheten. De tre øverste linjene er selvforklarende.

Den nest nedeste linjen laster et vektorlag fra APIet, ved hjelp av OGR-biblioteket: http://www.qgis.org/en/docs/pyqgis_developer_cookbook/loadlayer.html

Den nederste linjen registrerer laget i QGIS sitt brukergrensesnitt: http://www.qgis.org/en/docs/pyqgis_developer_cookbook/canvas.html

Funksjonen kan kalles på følgende måte:

lag('17/19', 'ERF', 'Levanger ERF')

Koden ovenfor laster ned alle europa-, riks- og fylkesveger i Levanger kommune. Lokasjon angis ved hjelp av fylke- og kommunenummer. For en rask referanse, kan dere benytte samme liste som APIet prototypen benytter: http://vegnett.vegdata.no/js/lokasjon.js

Nedenfor er et utsnitt fra QGIS etter at koden ovenfor er kjørt.

vegnett-prototype

Med den grunnleggende funksjonen i boks, er det lett å utvide med mer avanserte spørringer etter data. Funksjonen nedenfor henter hele vegnettet i en bestemt fylke eller kommune, og oppretter samtidig ett lag for hver vegkategori.

def lag_kategorier(sted, navn):
    vegkategorier = ['e', 'r', 'f', 'k', 'p', 's']

    for kategori in vegkategorier:
        lag(sted, kategori, navn+' '+kategori)

 

Vegkart og NVDB API åpnes opp

I dag sniklanseres både Vegkart og NVDB API for publikum. Vi vil ikke gå ut med en bred offentlig lansering, men passordbeskyttelsen er fjernet, og løsningene er nå tilgjengelig for alle.

Mer utfyllende informasjon om NVDB API er lagt ut på data.norge.no, for at deltagere i konkurransen apps4norge skal oppmuntres til å bruke våre data.

Hva er nytt i Vegkart versjon 2013-01?

Etter at første versjon ble lansert like før jul, er det arbeidet med blant annet følgende funksjonalitet

  • Det er lagt til rette for manuelle inkrementelle oppdateringer av den bakenforliggende datakilden, slik at Vegkart inneholder mer ferske data.
  • Alle strekningsobjekter har en egen lengde-kolonne i excel-eksporten
  • Retting av feil

I tillegg har utviklingen av egenskapsfiltrering og startet, men dette vil først bli synlig i senere leveranser.

Hva vil komme i Vegkart versjon 2013-02, i april?

  • Et mer intuitivt søkefelt
  • Lengden av strekningsobjekter blir automatisk summert i resultatlisten
  • Automatisk oppdatering av datagrunnlaget i Vegkart.
  • Feilrettinger og mindre funksjonalitet

Hva vil komme i Vegkart versjon 2013-03, i mai?

  • Mulighet for å filtrere på egenskaper ved søk i Vegkart
  • Ny grafisk profil
  • Bedre visning av mange objekter på kart
  • Utvidet visning av innholdet i Datakatalogen
  • Mulighet for visning av flyfoto

Hva vil komme i Vegkart senere i år?

I juni skal Vegkart lanseres offisielt, og beta-stempelet fjernes. Det vil i tillegg komme tre oppdateringer av løsningen i høst, men her er ikke all funksjonalitet planlagt ennå. Vi vurderer flere temaer, blant annet følgende:

  • Utvidet grensesnitt for uttak av rapporter
  • Tegnefunksjonalitet
  • Utvidet utskriftsfunksjonalitet
  • Flere avanserte søkemuligheter. Eksempel: Jeg vil ha alle trafikkulykker som skjer på en strekning med en trafikkdeler og med fartsgrense større enn 70.
  • Søk etter objekter langs en rute fra A til B.
  • Utvidet søk etter vegreferanse

Eksempler på innhold i NVDB

De fleste av fagdataene i NVDB registreres i forbindelse med drift og vedlikehold av riks- og fylkesveger. Pr. 11. april 2012 inneholdt databasen blant annet følgende data:

  • 512 735 stikkrenner
  • 663 465 skilt
  • 294 632 belysningspunkt
  • 273 771 trafikkulykker
  • 187 516 kummer
  • 147 006 rekkverk
  • 31 915 skred
  • 1 714 rasteplasser
  • 1 074 tunneler
  • 457 ferjekaier

Tilsammen finnes det 185 412 932 forekomster fordelt på 320 ulike fagdatatyper

Hva er Nasjonal vegdatabank (NVDB)?

Nasjonal vegdatabank er en database med informasjon om riks- og fylkesveger, kommunale veger, private veger og skogsbilveger. Databasen brukes aktivt i Norges vegforvaltning, og inneholder blant annet følgende informasjon:

  • Vegnett med geometri og topologi som danner grunnlaget for kartløsninger og ruteberegnere på internett
  • Oversikt over utstyr og drenering langs vegen
  • Ulykker og trafikkmengder
  • Grunnlagsdata for bruk i støyberegning og trafikkmodellering

NVDB inneholder muligheter til å registrere fagdata knyttet til vegen. Hvilke fagdata som kan registreres, er definert i en egen database som kalles Datakatalogen.