Rask tilgang til NVDB-data i ArcMap

Denne pluginen er teknologisk utdatert og fungerer ikke lenger!

Pluginen blir ikke oppdatert til versjon 3 av NVDB api LES, og den sluttet å fungere samtidig med at vi stengte ned versjon 2 av NVDB api LES høsten 2022.

Vi har retta feilen i versjon 2.06, ny versjon finnes her (zip),

Eller du kan rette den opp sjøl på din egen maskin med denne oppskriften.

Våren 2020 fikk vi problemer med denne plugin, dels fordi vi skiftet adresse til NVDB api, dels fordi håndtering av paginering i plugin ikke var robust mot endringer i sidestørrelse. Det første (feil lenke til NVDB api) kan lett fikses ved å endre ei linje i tekstfilen <Mappe der du lagret plugin>\nvdb_access\config\config.yaml. Linje 5, der det står baseurl skal ha verdien  https://nvdbapiles-v2.atlas.vegvesen.no.

Linje 5 skal altså se slik ut:

baseurl: https://nvdbapiles-v2.atlas.vegvesen.no

Feilen i paginering rettes ved å kommentere ut linje 1008 og 1009 i fila <Mappe der du lagret plugin>\nvdb_access\da\data_da.py. Sett inn hashtagg # først på linje 1008 og 1009 – slik:

   # Break if we get less than the limit 
#   if nelem < max_pr_request: 
#        break    

Takk til Geodata A/S, som hjalp til med verdifull feilsøking og feilretting.

Statens vegvesen har i samarbeid med Geodata AS laget et programtillegg, NVDB Addin, som henter data direkte fra NVDB og inn i ArcMap. Verktøyet kommuniserer med NVDB API v2 og gjør data fra NVDB lett tilgjengelig for videre bearbeiding i ArcMap. Programtillegget deles fritt. Kildekode

Les videre

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.