Vi må ta ned Datafangst for vedlikehold i helga!

EDIT Mandag 24.1: Suksess, nå har vi fått metreringsretning inn i datafangst!

Vi beklager kort varsel – men fra fredag 21.1 kl 17 så blir Datafangst utilgjengelig på grunn av database vedlikehold.

Bonus er jo at vi kommer tilbake mandag morgen med metreringsretning på stedfesting!

I løpet av helga vil vi legge informasjon om metreringsretning på all vegnettsinformasjon, dvs stedfestingen for samtlige objekter i databasen til Datafangst. Denne informasjonen hentes fra leseapi, og det er en tidkrevende prosess. Vi antar kjøretida blir rundt ett døgn, men foretrekker å sette av hele helga til oppdatering, for sikkerhets skyld.

Planen var jo at denne oppdateringen skulle kjøre i bakgrunnen mens dere brukte Datafangst som vanglig, men som vi så i går – det fungerte ikke spesielt bra. Det kunne kanskje fungert i helga, når det er færre brukere, men vi har valgt å gjøre det trygt og sikkert denne gangen.

Datafangst driftsproblemer 20. januar – LØST

LØST klokka 11:00: Problemet er LØST.

Årsaken var knyttet til oppdatering av metreringsretning på alle vegene som manglet denne informasjonen. Denne engangs-operasjonen belaster systemet såpass mye at vi må utsette denne jobben til helga, når det er færre brukere på systemet. Vi siterer fra gårsdagens informasjon om ny release:

Vi har et script som kjører og fyller inn metreringsretning på alle veger det er stedfestet på. Dette tar ca. et døgn å kjøre. Det betyr at vi har ikke metreringsretning på alle veger enda.

Om man har et objekt som er stedfestet på veg uten metreringsretning vil sideposisjon og felt være grået ut i vegobjekter-fanen og hvis man hovrer på dette feltet vil det stå «Objektet er stedfestet på veg uten metreringsretning og sideposisjon/felt kan ikke oppgis.». Hvis objektet har sideposisjon eller felt vil det dukke opp så snart metreringsretningen har blitt hentet inn. Hvis man vil se sideposisjon og felt med en gang kan man stedfeste på nytt og vi vil da hente inn metreringsretningen på veglenka. Alle veglenker forventes å ha fått metreringsretning innen fredag morgen i løpet av helga.

Det er driftsproblemer med Datafangst, ser ut som om forbindelsen med databasen vår hikker. Utviklerteamet er i gang med feilsøking og -retting, dette innlegget oppdateres med mere info.

Ny datafangst-versjon satt i produksjon

Datafangst 2022-2.0.1 er ute i PROD

  • Mulighet til å vise kommentarer for flere objekter og objekttyper gjennom verktøymenyen i datafanen.
  • Mulighet til å fjerne flere kommentarer gjennom filtrering og markering.
  • Nye, mer beskrivende farger på kommentarboblene.
  • Vegsystemreferansen kan nå sees i datafanen for objekter som er registrert i NVDB eller er stedfestet.
  • Metreringsretning er nå standard retning i datafangst.
  • Man kan nå se retningen på veglenker i kartet, både i datafanen og stedfestingsfanen.
  • Sideposisjon og felt kan nå sees og redigeres selv om det er flere av disse for et vegobjekt.
  • Sideposisjon og felt vises i forhold til metreringsretning i motsetning til før da de vistes i forhold til geometriretning.
  • Sideposisjon og felt er nå markert gult om det er endret ifht NVDB.
  • Ved stedfesting kan du nå sende med vegkategori for å spesifisere stedfestingen mer nøyaktig.
  • Den gamle stedfestingstypen ble visualisert bedre når det kom til krappe svinger som nærmet seg sirkler. Dette er nå fikset.
  • Ved import av SOSI kan man nå velge operasjon, som betyr at man kan importere eksisterende NVDB-objekter som SOSI.
  • Endring av enkeltattributter i datafanen har blitt raskere.
  • Når det dukker opp en feilmelding får du oppgitt en lenke til ofte stilte spørsmål for mer informasjon.
  • Andre mindre feilrettinger og forbedringer.

Obs! Vi har et script som kjører og fyller inn metreringsretning på alle veger det er stedfestet på. Dette tar ca. et døgn å kjøre. Det betyr at vi har ikke metreringsretning på alle veger enda.

Om man har et objekt som er stedfestet på veg uten metreringsretning vil sideposisjon og felt være grået ut i vegobjekter-fanen og hvis man hovrer på dette feltet vil det stå «Objektet er stedfestet på veg uten metreringsretning og sideposisjon/felt kan ikke oppgis.». Hvis objektet har sideposisjon eller felt vil det dukke opp så snart metreringsretningen har blitt hentet inn. Hvis man vil se sideposisjon og felt med en gang kan man stedfeste på nytt og vi vil da hente inn metreringsretningen på veglenka. Alle veglenker forventes å ha fått metreringsretning innen fredag morgen. I løpet av helga. EDIT: Dette scriptet gir såpass stor belastning at vi må kjøre det i helga, når det er færre brukere.

Datafangst – innlogging feiler for noen brukere

Oppdatering 15.12.2021 kl 12:19: Problemet er LØST!

Oppdatering 15.12.2021 kl 10:38: Vi ruller straks ut en ny fiks vi tror skal løse problemet. Mer info så snart denne er prøvd ut i praksis.

Brukere som IKKE jobber i Statens vegvesen sliter for tiden med å logge inn i Datafangst.

I gårsdagens kaos gjorde vi en feilkonfigurering. Når du logger inn i Datafangst så logger Datafangst inn i NVDB api LES. Denne andre innloggingen er bittelitt ulikt satt opp for brukere innafor eller utafor vegvesenet. Her har vi snublet i oppsettet: Det fungerer for Vegvesen-brukere, men ikke for de andre.

Heldigvis skal dette være kjapt å fikse, vi regner med at det er i orden i løpet av en times tid.snart

Datafangst: Gjenopprettes fra backup, men det kan ta hele dagen LØST

PROBLEMET ER LØST, Datafangst er oppe igjen fra ca 20:00 tirsdag kveld (14.12.2021). Backupen vi gjenskapte er fra natt til mandag. Evt arbeid som er gjort i løpet av mandag 13.12 eller tirsdag 14.12 må gjøres om igjen. Systemet har vært utilgjengelig store deler av denne perioden, men var for eksempel tilgjengelig mandag formiddag, så noe arbeid har nok gått tapt.

Vi beklager på det sterkeste ulempene for våre brukere.

Oppdatering 14.12.2021 16:09: Gjenoppretting pågår ennå, denne prosessen må nesten få kjøre helt til den er ferdig.

Oppdatering 14.12.2021 12:30: Gjenoppretting vil nok ta hele dagen, ser det ut til.

Datafangst blir dessverre utilgjengelig i dag 14.12.2021. Det mest optimistiske anslaget er at vi kan få opp systemet igjen før lunch, men det kan like gjerne ta lengre tid.

I går fikset vi log4j-sårbarheten i datafangst, men det medførte blant annet at vi måtte re-installere hele databasesystemet. Vi holder nå på å gjenopprette alle data i Datafangst fra backup, men dette er en treg, plundrete og sårbar prosess.

Vi beklager ulempene dette gir for våre brukere.

Gamle ÅDT-tall er satt historisk

Vi har nettopp sendt alle trafikkmengde-objekter med ÅDT, gjelder for lik 2019 eller eldre over i historien, dvs objektene er lukket og har fått en sluttdato. De vises ikke lenger i Vegkart, men de kan hentes fram fra NVDB api LES med oppskriftene beskrevet her: Hvordan får jeg historiske data for trafikkmengder?

Grunnen er at disse gamle ÅDT-verdiene skapte en del kluss, heft og problemer for analyser og bruk av trafikkmengde-data. Vi hadde også stor pågang på support med å forklare hvordan det hang sammen at vi hadde opp mot ti år gamle data liggende ved siden av 2020-data.

NVDB api LES fungerer ikke

6.12.2021 klokken 12:44 Vi FRISKMELDER NVDB api LES, i både PRODUKSJON og TESTPROD (ATM). Utviklingsmiljøet vårt har ikke hatt disse problemene

6.12.2021 klokken 12:30: Alt ser greit ut så langt, vi vurderer full friskmelding, men testing pågår ennå

6.12.2021 klokken 11:50: Vi har fått NVDB api LES igang igjen, har ikke rukket å teste alt grundig, men det ser OK ut så langt

Vi jobber med feilsøking, oppdaterer så snart vi har mer informasjon

Feilen påvirker alle systemer som bruker data fra NVDB api LES, deriblant Vegkart, NVDB rapporter, Datafangst med flere

Snublefeller, historiske data

Bruk av historiske data har en del interessante snublefeller og begrensninger

Sjekk også vår artikkel om hvordan du tar ut historiske data i ulike verktøy.

Vegsystemreferanse fantes ikke før november 2019

I november 2019 innførte vi det nye referansesystemet, populært kalt vegsystemreferanse. Sjekk artikkelen Hva må jeg vite om vegsystemreferanse? Denne er ikke gitt tilbakevirkende kraft, det vil si at hvis du tar ut de dataene som var gyldige i 2018 så får du ikke med detaljer om strekning, delstrekning, kryssdeler, trafikantgruppe og metrering. Spesielt interesserte kan skjøte på med info hentet fra historiske 532 Vegreferanse – objekter.

Men vi la på detaljer om vegnummer, fase og vegstatus på alle historiske objekter i NVDB api LES, så du kan søke på f.eks. Fv915 når du skal ta ut historiske data. Merk at data eldre enn 2019 har fått 2019-vegnummeret.

I NVDB bruker vi kun de nyeste kommunegrensene!

Endrer vi på kommune- og fylkesgrenser så får det tilbakevirkende kraft i NVDB. Du kan ikke lenger søke etter belysningspunkt i Klæbu, for Klæbu er en del av nye Trondheim kommune. Og motsatt – søker du etter historiske data for belysningspunkt så er det dagens kommunegrense som brukes som søkefilter. Kartskissen under viser 2017-grensene for Trondheim samt de belysningspunktene du får når du søker på belysningspunkt med filteret tidspunkt=2017-02-01&kommune=5001

Kart med gamle kommunegrense for Trondheim og belysningspunkt i nye Trondheim kommune. Selv om Trondheim og Klæbu først slo seg sammen i 2020 så gir søket etter belysningspunkt per 2017 deg 927 treff i gamle Klæbu kommune,
Selv om Trondheim og Klæbu først slo seg sammen i 2020 så gir søket etter belysningspunkt per 2017 deg 927 treff i gamle Klæbu kommune,

I NVDB bruker vi kun de nyeste kontraktsområdene – og liker best det nyeste vegnettet

Hvis du henter ut historiske data for et kontraktsområde og enten vegnettet eller kontraktsområdet (eller begge deler!) har vært endret så må vi ta forbehold om at du kan få færre vegobjekter enn det riktige.

Hvis du vet at vegnettet og ditt kontraktsområde har ligget i ro i tiden mellom i dag og bakover til det eldste tidspunkt du trenger data for – så kan du helt fint ta ut historiske data på dette kontraktsområdet.

Forklaringen er komplisert: Når kontraktsomrdet skal brukes som søkefilter i NVDB api les så klarer vi ikke gjenskape området slik det så ut før endringen, men bruker området slik det ser ut i dag – også for historiske søk.

Hvis en bit av vegnettet var i k.området i 2019, men ble satt historisk i 2020 – så vil du ikke klare finne den når du søker på k.området i dag med tidspunkt=2019.

Tilsvarende hvis k.området har vært justert i 2020: Du klarer ikke få frem riktige 2019-data ved å bruke k.området som søkefilter.

Det finnes krokveier om dette problemet, men det er komplekst (hent ut historisk 538-objekt per tidspunkt, finn dette objektet stedfesting og hent ut vegobjekter som hadde overlappende stedfesting på det tidspunktet.) Vi ønsker å tilby ferdige rapporter basert på denne logikken, men det ligger noe fram i tid.

Hvordan får jeg historiske data for trafikkmengder?

Her er oppskrift på hvordan du kan ta ut historiske data for trafikkmengder i ulike verktøy. I prinsippet er enkelt – du føyer til parameteren tidspunkt=VALGT DATO i spørringen til NVDB api LES – i tillegg til andre søkeparametre (som f.eks kartutsnitt m.m). Alle spørreparametrene er beskrevet i dokumentasjonen for NVDB api LES.

For å få all tidsutvikling i samme spørring kan du i stedet for tidspunkt bruke parameteren alle_versjoner=true (for vegobjekter). Resultatet blir litt mer uhåndterlig spagetti med absolutt alle historiske og nåværende data fra NVDB, og krever gjerne litt sortering, filtrering og gruppering før man får struktur på dataene. For vegnett heter denne parameteren historisk=true.

Sjekk også vår artikkel om Snublefeller, historiske data

Nedenfor viser vi eksempel på gamle og nye data for biter av gammel og ny E18-trasé ved Arendal. Den nye motorveien Arendal-Tvedestrand åpnet juli 2019, og trafikkmengden på gammel E18-trasé (nåværende Fv421) har gått ned med om lag 10.000 kjøretøy per døgn.

Ny E18 (rød pil) ble åpnet i juli 2019. Gammel E18 (blå pil) heter nå Fv421.
Før åpningen av ny E18 var det registrert ÅDT på 13200 kjøretøy per døgn på gammel E18-trasé.
i dag (15.11.2021), to år etter åpningen, har vi ÅDT på 3775 på Fv421, ned cirka 10.000 kjøretøy per døgn fra den gang E18 gikk her. På ny E18 har vi ÅDT = 10279 kjøretøy per døgn.
Og her er fargeskalaen vi har brukt i disse plottene (som er laget med QGIS, forresten).

EDIT: Vegkart støtter nå historiske data

Våren 2022 satte vi i produksjon vegkart med støtte for historiske søk. De historiske søkene er fremdeles tregere enn standardsøkene, men det er etter vårt syn til å leve med.

Vi har laget ferdig en vegkart-versjon der du kan søke etter historiske data, men det gikk for tregt til at vi kunne produksjonssette den. Vi opplevde kanskje 20-30 sekunders ventetid før vegkartspørringen etter historiske data ga respons – og dette er helt uaktuelt å tilby brukere av en moderne webløsning i 2021. Historiske søk kommer nok til vegkart, men vi trenger mer tid før det blir bra nok.

Vegkart eksport – SOSI og CSV

Her er et tjuvtricks som bruker CSV- og SOSI eksport for å laste ned historiske data – det fungerer, selv om vegkart ikke innbyr til det. Gjør et vegkart-søk og kopier nedlastingslenken fra søket ditt (ekspander treffboksen og høyreklikk over det klikkbare feltet CSV eller Sosi for å få tilbud om å kopiere lenken). Denne lenken limer du inn i en teksteditor og føyer til valgt dato på formen &tidspunkt=2021-03-15 Merk at spørreparametrene skal være adskilt med ampersand (& – tegnet).

Denne modifiserte lenken kan du så lime inn i nettleserens adressefelt + ENTER. Nedlastingen skal nå starte automatisk.

Hvis du kopierer nedlastingslenkene inn i en teksteditor så kan du manipulere på dem, for eksempel ved å føye til parameteren &tidspunkt=2021-03-15

FME

Eksempel workspace for nedlasting av historiske trafikkmengde finner du her https://github.com/LtGlahn/nvdbapi-v3-FME

Argcis Pro

Firmaet Geodata A/S tilbyr en geoprosesseringstjenste hvor man asynkront kan laste ned data fra NVDB. Data blir pakket om til en esri-vennlig datastruktur på fil-geodatabase format, og når det er ferdig får du epost med lenke til nedlasting. Menyvalg for område, objekttyper, egenskapsverdier og andre typer filter blir bygget dynamisk i arcgis pro når du kobler deg til. De fleste (og viktigste) filtreringsmulighetene er støttet, men ikke alle. For eksempel tilbys menyvalget tidspunkt=DATO, men ikke historisk=true.

Qgis 3

Vi har laget et python-bibliotek hvor du bruker python konsoll for å laste ned data fra NVDB api LES direkte til kartflaten i QGIS 3, det finner du her. Følg oppskriften for nedlasting og kjør scriptet qgis3script-importernvdbdata.py med dine lokale tilpasninger, slik at biblioteket blir riktig importert til python konsollet. Deretter er du klar til å laste inn data med kommandoene

traf = nvdbFagdata( 540 )
traf.filter( { 'kommune' : 4203, 'tidspunkt' : '2019-04-01' } )
nvdbsok2qgis( traf ) 

NVDB rapporter

Naviger til og velg egendefinerte rapporter. Menyen for å velge objekttyper er todelt: I den venstre menyen søker du etter Trafikkmengde og huker av. Bruk pilene for å flytte markerte objekttyper over til høyre meny – som er de objekttypene som kommer med i rapporten.

Scroll lenger ned for å velge område. For dataene i vårt eksempel har vi brukt valgene kommune = Arendal og tidspunkt = 2019-04-01

Menyvalg for å avgrense rapporten på område (fylke, kommune eller kontraktsområde).

Den ferdige rapporten får litt begrenset bruksverdi når vi henter data som er eldre enn vegreferansesystemet som ble innført november 2019. I den ferdige tabellen er det derfor kun fyllt ut data for vegnummer, ikke strekning, delstrekning og meter – og dermed er det litt tungvint å vite hvilke rader som er hvor på vegnettet.

Den ferdige rapporten har hentet data eldre enn vegreferansesystemet (november 2019), og har derfor ikke data for strekning, delstrekning og meter. Det reduserer bruksverdien en hel del.

Python

Den mest elegante metoden er å bruke det fulle GIS-arsenalet blant annet geopandas, men ikke alle trenger dette – og installasjonen kan være litt fiklete. Derfor har vi skilt lesing fra NVDB (som funker rett ut av boksen i plain python) fra de avanserte GIS-bibliotekene (som kan være litt plundrete å installere rett). Starter du fra scratch med python så anbefaler vi Anaconda-distrubusjonen, og så fortsette med bruke conda-systemet for pakkehåndtering og bruke conda til å lage et separat python-miljø (detaljert oppskrift).

Selve nedlastingen gjør du med dette python-biblioteket som du laster ned https://github.com/LtGlahn/nvdbapi-V3, og last ned data med kommandoene

sys.path.append( 'Sti til der du har repos https://github.com/LtGlahn/nvdbapi-V3' ) 
import nvdbapiv3 # reposet https://github.com/LtGlahn/nvdbapi-V3 

traf = nvdbapiv3.nvdbFagdata( 540 )
traf.filter( { 'kommune' : 4203, 'tidspunkt' : '2019-04-01' } ) 
myList = traf.to_records() 

Nå har du data i minnet som en liste med json-dictionaries, og det kan jo knas videre i alle retninger.

En mulighet hvis du har pandas, geopandas og shapely-biblioteket installert kan du for eksempel lagre det som kartlag til harddisken din. Her går vi omveien om en såkalt dataframe til en geodataframe, som igjen har funksjoner for å lagre til et knippe geografiske formater – for eksempel det suverene filformatet geopackage

import pandas as pd
import geopandas as gpd
from shapely import wkt

mydf = pd.DataFrame( myList )
mydf['geometry'] = mydf['geometri'].apply( lambda x : wkt.loads(x) )
mydf.drop( 'geometri', 1, inplace=True )
myGdf = gpd.GeoDataFrame( mydf, geometry='geometry', crs=5973 )
myGdf.to_file( 'trafikkmengde.gpkg', layer='trafikkmengde2019-04-01', driver='GPKG' )

Datadump, eldre data

I 2020 og 2016 laget vi datadump med alle (datitdens) gyldige og historiske trafikkmengde-data. Ved siden av la vi også en dump av objekttypen 532 Vegreferanse, slik at man hadde mulighet til å se hvilke vegnummer som var gyldige til ulike tider på en bestemt strekning.

Info om datadumpen finner du her (vegdata-artikkel fra 2016, oppdatert med 2019-data. Når jeg sier 2019-data er det dette de ÅDT-verdiene som var tilgjengelig i 2019, dvs med År, gjelder for = 2018.

Sinus infra

I Sinus Infra kan du ta ut historiske data som var gyldige på en bestemt dato. Søk fram Trafikkmengde og trykk på områdefilter:

Søk fram Trafikkmengde og trykk på områdefilter

Velg Historisk og sett ønsket dato. Angi geografisk område (kommuner, fylker, kartutsnitt, eller som vist her – søkeradius i meter).

Velg Historisk og sett ønsket dato. Angi geografisk område (kommuner, fylker, kartutsnitt, eller som vist her – søkeradius i meter).

Angi søkedato som skal brukes:

Angi søkedato som skal brukes