Gå til hovedinnhold

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.