Skip to main content

Hente ut transaksjonslogg

Hente ut veglenker og vegobjekter som er endret via transaksjonslogg.

Hente ut vegnett og vegobjekter som er endret

Dersom du må hente ut endringer i både vegnett og vegobjekter, kan du via transaksjonslogg finne ut hvilke veglenker og vegobjekter som er endret. I transaksjonsloggen skrives det hvilke veglenker og hvilke vegobjekter som er opprettet / endret og slettet.

Uthenting fra transaksjonsloggen styrer du med å sette fra- og til-dato. Lese API tilbyr transaksjonsendepunkter for å se hvilke endringer som er gjort på vegnett og vegobjekt:

EndepunktBeskrivelse
/transaksjonerSvarer med transaksjoner som er utført og tilgjengelig i API Les.
/transaksjoner/statusSvarer med sist utførte transaksjon. Med parameter ?type=ikke_indeksert får du liste over ikke indekserte transaksjoner.

Når du henter ut transaksjonene så kommer "created" / "modified" / "deleted" for alle typer vegobjekt og veglenker i samme respons. Hvordan skiller jeg veglenker fra vegobjekt? Oppdateringer på vegnett har type 50001 og 50002. De skiller seg ut fra vegobjekter som går fra type 1 - 999. Se tabell under:

Vegobjekt typeVerdi
3Skjerm
5Rekkverk
......
50001Node - vegnett
50002Lenke - vegnett

Når du har funnet hvilke veglenker og vegobjekt som er endret via /transaksjoner endepunkt, høster du vegnett og vegobjekt med endepunktene /vegnett og /vegobjekter

Fremgangsmåte for å høste data fra NVDB kontinuerlig:

  1. Du starter med en initiell høsting av vegnett og vegobjekter, og man tar vare på tidspunktet høstingen ble startet.
  2. Du kaller /transaksjoner/status og får tidspunkt for sist kjørte transaksjon.
    1. Om tidspunkt fra forrige punkt ikke har endret seg, så hopper du ut.
    2. /transaksjoner/status har nyere tidspunkt enn ditt fra-tidspunkt.
      1. Høst nye transaskjoner med ditt fra-tidspunkt til tidspunkt fanger opp i punkt 2.
      2. Høst vegobjekter og vegnett i flere iterasjoner med maks 100 ider per request. Du kan få mange ID-er, og det vil da feile med GET-request fordi en GET-request ikke kan inneholde mer enn 2000 tegn.)
      3. Nå setter du nytt fra-tidspunkt og tar vare på det. Sett fra-tidspunkt til tidspunkt fanget opp i punkt 2.
  3. Vent en stund / en dag / noen timer.
  4. Gå til punkt 2.

Se dokumentasjon av vegobjekter endepunkt her.

Eksempel på høsting med transaksjonsendepunkt

Hente ut transaksjoner fra 2023-03-10 fram til dagens dato, eks: 2023-03-16:
https://nvdbapiles-v3.atlas.vegvesen.no/transaksjoner?fra=2023-03-10T00:00:00&til=2023-03-16T00:00:00

(Merk at du må benytte paginering her for å hente ut alle resultatene).

Dette gir meg transaksjoner med vegobjekter og vegnettlenker med id-er som er oppdatert. Disse må så høstes. Det fort blir mange id-er. GET-request har en begrensing på 2000 tegn, så du bør hente ut med maks 100 ider i slengen for å unngå at det feiler.

La oss si at jeg fikk bare ett objekt av type 79 med id=88574849 og id=78771648 og to veglenker med id=2 og id=12

TypeBeskrivelseURL
Segmentert vegnettVegnett med vegreferanse, kontraktsområde, riksvegrutehttps://nvdbapiles-v3.atlas.vegvesen.no/vegnett/veglenkesekvenser/segmentert?ider=1,12
Usegmentert vegnettVegnetthttps://nvdbapiles-v3.atlas.vegvesen.no/vegnett/veglenkesekvenser?ider=1,12
VegobjekterDet var bare 2 vegobjekter av en type 79 i dette eksempelhttps://nvdbapiles-v3.atlas.vegvesen.no/vegobjekter/79?ider=88574849,78771648&inkluder=metadata

som gir en responser med metadata med paginering.