Skip to content

Database og dataflyt

Bjørn Reppen edited this page Apr 20, 2020 · 3 revisions

Oversikt over flyt i applikasjonen

image

  • Forvaltningsportalen består av en React frontend
  • Filene kartlag_preview.json og kartlag.json inneholder oversikt over datasettene som vises frem, inkludert lenker til kart, faktaark og andre nødvendige attributter for å kunne vises i applikasjonen
  • Filen kartlag_preview vises som standard når man starter applikasjonen lokalt
  • Så fort man har satt opp en database, vil enhver endring i denne generere eller overskrive filen kartlag.json som da benyttes fremfor kartlag_preview. Denne ligger ikke på GitHub, da vi ikke ønsker å overskrive endringer som gjøres i databasen fra lokale endringer.
  • Så fort applikasjonen kjører, laster den inn oversiktene fra disse filene
  • Oversiktene benyttes til å sende spørringer til GeoNorge
  • GeoNorge returnerer metadata og kartlagsinformasjon som trengs for å fremstille kartlagene i listene og som karvisninger, samt lenker for å sende direkte punktspørringer ved klikk i kart

Databasemodell

image

  • Alle modellene inneholder unike id'er
  • Kartlag inneholder alle felt som benyttes til fremstilling av kartlagene:
    • tittel - navnet på kartlaget
    • wmsurl - for innhenting av kartlag
    • wmslayer - for å spesifisere hvilket kartlag i en bundle man er ute etter
    • faktaark - lenke til side om temaet fra dataleverandør
    • klikkurl - lenke til punktapi
    • klikktekst - spesifiserer hvilke tekstlige svar som hentes ut fra en bundle
    • type - fremmednøkkelrelasjon til modellen type
    • dataeier - påkrevd fremmednøkkelrelasjon til modellen dataeier
    • tema - fremmednøkkelrelasjon til modellen tema
    • tag - mange til mange-relasjon til modellen tag
  • type
    • tittel
  • tema
    • tittel
  • tag
    • tittel
  • dataeier
    • tittel
    • logourl (ikke i bruk per nå)
    • url (ikke i bruk per nå)

Kartdata

Kartdata mellomlagres i en PostgreSQL database. Dataene synkroniseres fra GeoNorge med Klient for massiv nedlasting og importeres så inn i database med en lastejobb