Database oppgraderes, og det meste i testmiljøet vil være nede fra 8:30.
Samtidig vil vi klone produksjonsbasen over i ATM for å få ferskere data i testmiljø. Nye data må da indekseres og vi venter at testmiljøet er oppe i normal drift først tirsdag 19. oktober.
Det vi trenger er en oversikt for hva som er nytt per år. Altså hvis en veg får flere gatelys, fortau osv.
Dette er et behov som mange vegeiere og -driftspersonale har. Akkurat denne gangen kom spørsmålet fra Trondheim kommune, men det samme behovet har fylkeskommunene, entreprenører, Nye Veier A/S og Statens Vegvesen.
Vår anbefaling: Ta differansen mellom to datasett for ulike tidspunkt
NVDB api LES støtter datauttak på angitt tidspunkt (dato), med et par forbehold om at det ikke har vært gjort endringer på områdegrenser fra det første tidspunktet til i dag. Her er status på historisk søk i ulike verktøy per oktober-2019:
NVDB rapporter, alle rapporttyper støtter datauttak på angitt tidspunkt. I denne sammenheng er det driftskontrakt-rapportene som er mest relevant.
Vi har testet historiske søk i Vegkart. Det fungerte, men ytelsen var ikke bra nok. Vi jobber med saken!
Vi har noen forbehold! Hvis det har vært gjort justeringer på kontraktsområder og/eller vegnett kan du få litt … lite intuitive resultater, se under. I tillegg får du litt merarbeid om du ønsker å sammenligne data før og etter en kommunesammenslåing.
NVDB bruker kun de nyeste kommunegrensene!
I NVDB bruker vi kun ferske data for fylker og kommuner – med tilbakevirkende kraft. Så i 2021 finner du for eksempel ingen spor etter gamle Klæbu kommune.
Dette betyr at når du søker etter belysningspunkt i Trondheim for en tidligere dato, for eksempel 1. februar 2017, så får du treff pådagensTrondheim kommune. Mer presist 10625 objekter, hvorav 927 er 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,
Men hva med endret – funksjonen i NVDB api? Hvorfor ikke bruke den?
NVDB api LES tilbyr parameteren endret_etter, og den har sin anvendelse – men for akkurat dette behovet blir det for mange snublefeller. Resultatene fra denne spørringen:
må suppleres med en hel del datamassasje: Du må skille endret fra nye objekter, evt om det er nye versjoner av gamle objekt – og du må sjekke om noen objekter kan være slettet. Etter vårt syn er det bedre å ta differansen mellom to ulike datoer.
Historiske data per Kontraktsområde – brukes på egen risiko
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.
Fra våre venner hos fylkeskommunen fikk vi denne utfordringen:
Det fylkeskommunen ønsker, er å finne ut om det er noen deler av fylkesvegnettet som ikke har knyttet et kontraktsområde til seg. Slik det er i dag, må man sammenligne to rapporter og finne forskjellen
Dette er et flott eksempel på noe som ikke er ferdig støttet i våre produksjons- og rapporteringsystemer, men som fint lar seg løse med ørlite grann koding, for eksempel i FME eller python.
Kontraktsområder er såpass viktige at vi i NVDB api segmenterer alle andre data med informasjon hentet fra objekttype 580 kontraktsområde. Dermed kan du bruke navnet på kontraktsområde som søkefilter i Vegkart og NVDB api. I vegkart-veiledningen har vi et eksempel på hvordan du kan vise vegnettet for et kontraktsområde i Vegkart.
Men hvordan finner vi det vegnettet som mangler kontraktsområde?
For hvert eneste vegsegment har vi altså en liste med de kontraktsområdene som gjelder for dette vegsegmentet. Hvis det ikke er registrert noe kontraktsområde for et segment så er denne listen enten tom (for JSON-formatet) eller mangler (XML-formatet). For eksempel https://nvdbapiles-v3.atlas.vegvesen.no/vegnett/veglenkesekvenser/segmentert/2720672
{
"href": "https://nvdbapiles-v3.atlas.vegvesen.no/vegnett/veglenkesekvenser/segmentert/2720672",
8< --- forkortet for lesbarhet
"kontraktsområder": [],
8< --- forkortet for lesbarhet
}
Løsningen for å finne veger uten kontraktsområde blir da å lage litt kode som henter data fra NVDB api:
Lag et filter søket ditt til det vegnettet du er interessert i. Eksempel fylkesveger i Innlandet så føyer du til parametrene vegsystemreferanse=Fv&fylke=34
Elveg 2.0 er et datasett som i utgangspunktet ble laget for to formål: Være forvaltingsdatasett mot kommunene gjennom Sentral FKB, og også være et datasett som grunnlag for navigasjon. Med tanke på navigasjon har vi nå laget et svært forenklet alternativ til dette. NVDB Rutedatasett er et verktøyuavhengig rutedatasett (SpatiaLite) der vegnettet er segmentert på aktuelle strekningsegenskaper fra NVDB. Vegsperringer og svingerestriksjoner leveres som egne objekter. Datasettet vil tilgjengeliggjøres i nye versjoner samtidig med Elveg 2.0, dvs. minimum 10 ganger i året.
NVDB Rutedatasett levers som veglenker segmentert på utvalgte egenskaper. Vegsperringer og svingerestriksjoner leveres som egne objekter.
Et testdatasett (fylkesvise filer) og en foreløpig versjon av produktspesifikasjonen er lagt ut på NVDB Rutedatasett – Geonorge Register. I løpet av høsten 2021 vil datasettet suppleres med flere egenskaper. Disse er nevnt i produktspesifikasjonen. NVDB Rutedatasett er likevel tilgjengeliggjort som testdatasett slik at ev. innspill til produktet og innholdet kan vurderes frem mot en første offisiell versjon.
Innspill til innhold eller andre kommentarer eller spørsmål stilles til linda.stoeng@vegvesen.no, ev. via kontaktmail satt opp der du finner datasettet. Tilbakemeldinger svares ut i løpet av august 2021.
Utviklingsplanar med liste over alle saker vi har registrert for utvikling er no lagt ut under dei ulike produkta Statens vegvesen leverer i NVDB-portefølgen. Ei ovrsikt over alle planane Utviklingsplaner NVDB produktportefølje.
«Kjente feil»-posten er samstundes fjerne då feil er registrert som saker og plassert inn i utviklingsplanane våre. Eventuelle nye kritiske feil vil vi poste som eigne innlegg eller på Twitter dersom vi ser behov.
241-Vegdekke er en objekttype mange har utfordringer med å registrere i NVDB i nye løsninger. Datakatalogen og regelsettet generelt er uendret i forhold til NVDB-123, men mange hadde nok utarbeidet en rutine for å få gjennomført oppgaven i klassisk løsning.
Det er funksjonalitet for å gjøre det samme i nye løsninger, men det krever ofte en del manuelle rutiner.
Her er noen retningslinjer og tips for å få utføre arbeidsoppgaver med registrering av 241-Vegdekke.
Bindelag og Slitelag
Binde- og Slitelag må registreres i to omganger med ulik dato i NVDB. Årsaken til dette er at det er to objekter av samme type og de kan ikke ha overlapp. Bindelag må derfor settes historisk for at slitelaget kan registreres. NVDB krever at et objekt er gyldig minimum 1 dag. Et objekt med lik start og slutt-dato vil i NVDB-verden tolkes som ikke å ha eksistert.
Fortrinnsvis bør da data leveres i separate leveranser fra entreprenør og behandles/leveres til NVDB separat i registreringsverktøy. Det kan for eksempel gjøres ved å levere data for Bindelag til NVDB før Slitelag leveres til dataløsningen, eler at det leveres til ulike «prosjekter/kontrakter» dersom løsningen ikke har støtte for utvalg ved innsending.
Fremgangsmåte ved samlet leveranse/fil
Leveransen eksporteres til fil (eller lignende) for senere arbeid
Alle data som omhandler slitelag fjernes fra prosjektet/kontrakten
Data for bindelag kontrolleres og klargjøres for innsending
Datasettet sendes til NVDB med dato tilbake i tid
fortrinnsvis med dato for faktisk dekkelegging
alternativt dagen før slitelagdato dersom det er samme dato
Datasett leses inn på nytt fra backup-fil (punkt 1)
Alle data som omhandler bindelag (allerede registrerte data) fjernes fra prosjektet/kontrakten
Data for slitelag kontrolleres og klargjøres for innsending
Objekter opprette ti NVDB i punkt 4 hentes inn i prosjektet/kontrakten for lukking
Datasett sendes til NVDB med dato minimum 1 dag etter startdato for objekter som skal lukkes
fortrinnsvis med dato for faktisk dekkelegging
Ved registrering av flere dekkelag deles datasettet opp i flere delsett og punkt 5-9 repeteres til alle lag er registrert.
Registrering av flere objekter på samme strekning
241-Vegdekke kan tillater i følge Datakatalogen ikke overlapp. Dersom dekke måles inn i flere objekter på samme strekning, f.eks. et objekt pr. retning/felt, sykkelfelt, avkjøringsfelt osv. må disse skilles ved å sette feltkode på objektene. Det er tillatt med et objekt pr. felt pr. punkt i vegnettet.
gang-/sykkelveg
Gangveg, gang-/sykkelveg og sykkelveg er egne vegsystemer som kan ha vegdekke. Vegdekke på disse vegene skal ikke stedfestes på hovedvegen men på sine respektive vegstrekninger.
Fortau
Fortau er ikke definert som felt i dagens vegnett. Dekke på fortau anbefales ikke å registreres som egne vegdekkeobjekter. Dette ivaretas i dag som egenskap på objektet 48-Fortau.
Dekker som ikke er del av vegen
Dekker på områder som ikke er en del av vegen skal ikke registreres som vegdekke i NVDB selv om det er vegeier som forvalter dekket. Dette kan være gangstier på/rundt kollektivpunkter, turistattraksjoner, holdeplasser osv.
Utvikling fremover
Vi håper på at utviklingen av registreringsklienter på sikt vil automatisere mye av problematikken rundt dekkelegging. Vi ser for eksempel for oss at klienten kan skille på om det er bindelag/slitelag og ta inn be om dato for legging av de ulike lagene og på den måten håndtere alt med deling, lukking og oppdatering.
Fortau og gangstier vil på sikt få vegsystemreferanser i NVDB. Når det skjer vil det være mulig å legge vegdekke på disse objektene likt med gan-/sykkelveg.
Vi vurderer innføring av et nytt objekt «Dekke» som kan benyttes til dekkeobjekter som ikke er del av vegen, men likevel har en tilhørighet.
Vi vurdere endring av Vegdekkeobjektet fra dagens utforming som tillater egengeometri til å være et «abstrakt» objekt som bare forholder seg til stedfesting (og feltvalg) på vegnettet.
27. mai holdtStatens vegvesen og datafangstverktøyetetwebinar for entreprenører.
Datafangst er et webbasert verktøy som brukes i dataflyt til Nasjonal vegdatabank (NVDB) og Felles kartdatabase (FKB). Her mellomlagres data for kontroll og redigering før data sendes til NVDB.
Webinaret hadde fokus på praktisk bruk, tips og triks og svarte på ofte stilte spørsmål rettet mot entreprenører.
NVDB API Skriv har blitt etablert i nye driftsmiljøer på Atlas-plattformen hos Statens vegvesen. Vi har hatt begge miljøene opperative i en god periode nå og regner med mange har byttet til nye URLer. Vi vil nå starte prosessen med å stenge av de gamle URLene, og ber nå alle brukere om å se over at alle system er oppdatere med nye URLer.
Planlagt stenging av gamle URLer er 1. juli 2021.
På grunn av tilbakemeldinger om at ikke alle systemer har oppdatert URL-ene til de nye utsettes stenging av gamle adresser til August 2021. Vi kommer tilbake med ny dato etter hver som vi får tidsplan fra de systemene som ikke er klare.
Siden dette kom nært opp til ferie for mange og at informasjonen ikke ser ut til å ha nådd frem til alle i tidligere faser er vi litt fleksible med nedstengingsdato her.
I Atlas-miljøet brukes en ny autentiseringsmekanisme, basert på OAuth2 (OpenId Connect). Når klienter skifter over til nye URLer må derfor også autentiseringlogikken omprogrammeres. Hvordan dette kan gjøres er forklart på https://apiskriv.vegdata.no/autentisering.
Dersom det er spørsmål rundt dette, ta kontakt med nvdb@vegvesen.no.
Dersom det er behov for å holde det gamle miljøet oppe en stund til fremover må vi ha tilbakemelding om dette snarest med begrunnelse og dato for når det ikke er nødvendig lenger.
Visning av skjerma data i Vegkart er det mange som etterlyser, men dette ligger nok et stykke frem i tid. Derfor må vi utforske andre løsninger.
Suverent enklest: Bruk QGIS
Innstaller QGIS, og følg oppskriften her for å installere pythonkode for å lese data fra NVDB via pythonkonsollet i QGIS. Deretter er det kun et par linjer for f.eks. å lese ut Vegros-data for Innlandet kommune
Skjermdump fra QGIS, 895 Vegros lest inn til QGIS.
Når data er inne i QGIS kan man lagre til populære og moderne kartformater, eller eksportere til for eksempel Excel.
Alternativ løsning: Python, FME eller din egen løsning
De samme python-funksjonene som QGIS bruker er selvsagt tilgjengelig for en python-installasjon som står alene. (Vår anbefaling: Installer python distribusjon fra anaconda ). Vår anbefalte arbeidsflyt er å lese data inn i Pandas Dataframe, og eventuelt gjøre om denne til en GeoDataFrame. Derfra har du mange eksportmuligheter. I tillegg er (geo)dataframes i seg selv veldig kraftige analyseverktøy.
Akkurat i dag (14.04.2021) har vi ingen ferdige FME-workspace der påloggingsritualene er implementert, men det vil være en smal sak å implementere.
De samme påloggingsritualene kan du som utvikler også implementere i ditt favoritt programmeringsspråk. Enten for å lage din egen eksportrutine, eller for integrasjon i ditt favorittsystem.
Betingelser – hvilke rettigheter må man ha?
Tilgang til skjerma data i NVDB reguleres to – 2 – steder. (Jada, det er ett for mye, og vi jobber med det):
Du må ha definert riktige roller og tilganger i NVDB databasen
NVDB api LES har et eget system for hvilke skjerma data som blir tilgjengelig når du logger inn.
Rettighetene disse to stedene (NVDB databasen og i NVDB api LES) må selvsagt stemme overens.