Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Opdateret med nye fildownload fra UL2, samt tilføjet metadata

Anchor
Toppen
Toppen

Dette dokument er en guide i anvendernes transition fra de abonnementsbaserede filudtræk over til entitetsbaserede fildownloads.

Dokumentet er opdelt i to dele:

  • Første del af dokumentet beskriver hvad fildownloads er, samt hvordan funktionaliteten anvendes.
  • Anden del af dokumentet forklarer forskelle, samt hvordan anvendere i forskellige situationer

    Denne side beskriver forskelle mellem abonnementsbaserede filudtræk og prædefinerede entitetsbaserede, rasterbaserede og punktskybaserede fildownloads, samt hvordan du som anvender af filudtræk, kan komme i gang med at

    anvende fildownloads

    bruge fildownload.

    Dokumentet er tiltænkt følgende læsere:

  • Eksisterende anvendere af Datafordeleren der henter filudtræk på Datafordeleren, som ønsker at komme i gang med at bruge fildownloads i stedet for.
  •  

    Det skal bemærkes at filudtræk og fildownload driftes parallelt i en periode, så anvendere af Datafordeleren har mulighed for at skifte til fildownload.


    Table of Contents

    Nye anvendere, der vil i gang med at bruge fildownloads på Datafordeleren.

    Sideinformation

    Display Metadata
    hidetableheadertrue

    Begreber

    I dette dokument bruges begreberne i Tabel 1. Bemærk at begreberne også er yderligere forklaret i løbet af dokumentet med eksempler.

    Begreb

    Beskrivelse

    Nuværende Datafordeler

    Filudtræk:

    Filudtræk er en metode at få udtræk af data fra Datafordeleren. Man kan som anvender logge på selvbetjeningen og oprette et abonnement på et specifikt filudtræk – evt. med brugerdefinerede parametre, hvorefter filen bliver genereret og er tilgængelig på en FTP-server. Filudtræk er beskrevet her.

    Moderniserede Datafordeler

    Fildownload:

    Fildownloads beskrives i denne vejledning.

    Entitet:

    En entitet er en fysisk repræsentation af et registerobjekt som findes i Grunddatamodellen. De total- og deltadownloads der kan hentes fra Datafordeleren, indeholder hver især data bestående af en enkelt entitet.

    Totaldownload:

    Et totaldownload er et udtræk af alle data for en enkelt entitet og refererer til en enkelt fil.

    Deltadownload:

    Et deltadownload er et udtræk af alle data der har ændret sig, siden forrige deltadownload blev lavet, for en enkelt entitet. Et deltadownload består af en enkelt fil.

    Totaludtræk:

    Et totaludtræk er et udtræk af alle data i et register eller en delmængde af entiteter fra et register. Et totaludtræk er udgjort at en eller flere totaldownloads. Et totaludtræk kan således bestå af en eller flere filer med tilsvarende entiteter, alt afhængigt af hvor stor en delmængde af et register der er tale om. Bemærk at denne definition kun gælder for fildownloads

    Deltaudtræk:

    Et deltaudtræk er et udtræk af alle data der har ændret sig, siden forrige deltaudtræk blev lavet, i et register eller en delmængde af entiteter fra et register. Et deltaudtræk er udgjort af et eller flere deltadownloads. Et deltaudtræk kan således bestå af en eller flere filer med tilsvarende entiteter, alt afhængigt af hvor stor en delmængde af et register der er tale om.

    Tabel 1: Begrebsliste.

    Fildownloads

    Fildownloads er en funktionalitet på Datafordeleren til udstilling af data, men skal ikke misforstås som værende det samme som de abonnementsbaserede filudtræk, der også er på Datafordeleren. Fildownloads tilbydes som prædefinerede entitetsbaserede fildownloads og baserer sig på de datamodeller som registrene har på Datafordeleren.

    En entitet svarer til en tabel i Grunddatamodellen som er defineret i registrenes datamodel: https://grunddatamodel.datafordeler.dk/. En entitet kan eksempelvis være en "Adresse" fra DAR, en "Bygning" fra BBR eller et "Jordstykke" fra MAT. Det at fildownloads er entitetsbaserede betyder at et fildownload indeholder data for en enkelt type af entitet. Der leveres entitetsbaserede fildownloads på tabulære data og ikke for rasterdata (billeddata). Tabulære data forstås som strukturerede data der kan opbevares i tabeller som f.eks. adresser men ikke billedtyper som skærmkort.
    Fildownloads genereres løbende i bestemte intervaller for en række registre, hvorefter filerne kan hentes gennem et REST-API, der udstiller de genererede fildownloads. Det eneste krav til at hente fildownloads er, at man har en tjenestebruger med brugernavn og adgangskode. Fildownloads bruger ikke abonnementer, da de allerede ligger klar til at blive hentet. REST-API'et beskrives nærmere i afsnit 2.6, mens skema for generering samt frekvenser for generering beskrives nærmere i afsnit 2.5.
    Image Removed
    Figur 1: Opsummering af fildownloads-funktionaliteten. 
    En opsummering hvad fildownloads består af, kan ses i Figur 1. Figuren viser 3 registre:

    • Register A, som har 5 entiteter. Registerets entiteter refererer til hinanden indbyrdes indenfor registeret og har også en enkelt reference til en entitet i register C udenfor registeret.
    • Register B, som har 6 entiteter. Registerets entiteter refererer til hinanden indbyrdes indenfor registeret og har også en enkelt reference til en entitet i register A udenfor registeret.
    • Register C, som har 6 entiteter. Registerets entiteter refererer til hinanden indbyrdes indenfor registeret.

    Registrenes entiteter har alle fildownloads, som både består af totaldownloads og deltadownloads. Det skal her bemærkes at Register C har fravalgt at der bliver genereret fildownloads for deres entitet nr. 5 og 6 i dette eksempel.

    Typer af fildownloads

    Datafordeleren udstiller flere typer af entitetsbaserede fildownloads. Der findes 2 typer af fildownloads, nemlig totaldownloads og deltadownloads (se Tabel 1). Datafordeleren opbevarer ét totaldownload pr. type pr. entitet, mens der opbevares deltadownloads 14 dage fra de blev genereret.

    Hvis der genereres fildownloads for en entitet, bliver der altid genereret både totaldownloads og deltadownloads. Udover at der findes flere typer af fildownloads, findes der også flere typer af filtreringer på den data som de genererede fildownloads indeholder. Dette skyldes at delmængder af data på Datafordeleren er bitemporal og at der dermed kan være flere forekomster af det samme objekt over tid i to tidsdimensioner https://confluence.sdfi.dk/display/DML/Grunddata+-+bitemporalitet.

    • Fuldt bitemporalt fildownload: Et fuldt bitemporalt fildownload inkluderer alt, hvad angår både registreringstid og virkningstid.
    • Temporalt fildownload: Et temporalt fildownload filtrerer registreringsdimensionen fra, men beholder virkningsdimensionen.
    • Fildownload med aktuelle data: Både registreringstiden og virkningstiden er sat til at være på det pågældende tidspunkt fildownload blev lavet.

    Det er muligt at kombinere en type fildownload med en type af bitemporal filtrering og filformat. En opsummering af, hvilke fildownloads der eksisterer kan ses i Tabel 2.

    Type af fildownload

    Type af bitemporal filtrering

    Typer af filformater

    Totaldownload

    Bitemporal

    JSON, GML og GPKG

    Totaldownload

    Temporal

    Totaldownload

    Aktuel

    Deltadownload

    Bitemporal

    Tabel 2: Oversigt over understøttede typer af fildownloads på Datafordeleren.

    Filformater

    Tabel 3 nedenfor viser, hvilke registre der har fildownloads på deres entiteter, samt hvilke filformater der er tilgængelige for registrenes entiteter. Et kryds i en række i tabellen indikerer at filformatet generelt er understøttet for det givne registers entiteter.

    Register

    JSON

    GPKG

    GML

    BBR

    X

    DAR

    X

    EBR

    X

    MAT2

    X

    X

    X

    DAGI

    X

    X

    X

    DHM Oprindelse

    X

    X

    X

    DHM Højdekurver

    X

    X

    X

    Danske Stednavne

    X

    X

    X

    GeoDanmark Vektor

    X

    X

    X

    FIKSPUNKT

    X

    X

    X

    Tabel 3: Oversigt over understøttede filformater per register.
    Det skal bemærkes det ikke er alle entiteter for et register der har fildownloads i GPKG og GML-format, selvom dette er indikeret i Tabel 3. Der skal gøre sig følgende gældende for at en entitet understøttes i GPKG eller GML-format:

    • GPKG-formatet understøttes på en entitet hvis entiteten indeholder 0 eller 1 geometrier.
    • GML-formatet understøttes på en entitet hvis entiteten indeholder minimum 1 geometri.

    Udtræksnumre

    Udtræksnumre er en fortløbende talrække der beskriver tidsmæssig sammenhæng mellem data i et register. Hver gang der genereres fildownloads for et register, påsættes alle fildownloads ved samme generering det samme udtræksnummer. Dette bevirker at fildownloads med det samme udtræksnummer indeholder konsistente data indenfor registerets egen data. Denne egenskab er særlig relevant hvis man som anvender er interesseret i at sammensætte data fra flere entiteter i et register.

    Det er her vigtigt at understrege, at udtræksnumrene kun er fortløbende per register, og at hvert register derfor har sin egen fortløbende talrække, der er uafhængig af andre registre. Udtræksnumre kan derfor ikke garantere referentiel integritet på tværs af registrenes data, da dette afhænger af registrenes indlæsningstidspunkter, samt indlæsningsfrekvens.

    Det er muligt at vedligeholde en lokal kopi af registrenes data som findes på Datafordeleren ved at hente totaludtræk – og herefter løbende hente deltaudtræk.
    Kopien etableres først lokalt, ved at hente totaldownloads for den/de entiteter der er interesse for, for at skabe totaludtrækket. Idet totaludtrækket er hentet, skal det bemærkes hvilket udtræksnummer totaludtrækket har, da udtræksnummeret skal bruges til at identificere hvilke deltadownloads der er relevante at hente, for at skabe det samlede deltaudtræk der kan opdatere den initiale kopi af data. Et totaldownload og deltadownload med det samme udtræksnummer indeholder data fra samme generation. Dette betyder at deltaudtræk med samme udtræksnummer som et totaludtræk indeholder dermed ingen data som ikke også er indeholdt i totaludtrækket. Det udtræksnummer der skal bruges til at opdatere kopien af data, er dermed det næste udtræksnummer i talrækken.
    Et eksempel på dette kan ses i Figur 2, som viser en række genererede deltaudtræk, samt et genereret totaludtræk. Hver generering har resulteret i, at der enten er blevet genereret et deltaudtræk og/eller et totaludtræk. Det kan ses på figuren, at der eksisterer både et totaludtræk, samt et deltaudtræk med udtræksnummeret 3 og 10. Såfremt det ønskes at etablere en kopi af data fra entiteten, kan totaludtrækket med udtræksnummeret 3 først hentes – og så herefter hente deltaudtrækkene med udtræksnummer 4, 5 og 6 for at vedligeholde datakopien. Det er således ikke nødvendigt at hente deltaudtrækket med udtræksnummer 3, da deltaudtrækket blev genereret på samme tid som totaludtrækket.
    Image Removed
    Figur 2: Overblik over hvordan udtræksnumre hænger sammen mellem total- og deltaudtræk.

    Spring i udtræksnumre

    Dette afsnit er særligt relevant for anvendere, der implementerer programmel, som anvender udtræksnumre til at indhente fildownloads automatisk. Der kan i sjældne tilfælde forekomme et spring i udtræksnumre. Dette skyldes, at der eksisterer et nyere udtræksnummer for det pågældende register, og at generering af fildownloads, derfor, vil bruge det nyere udtræksnummer for at sikre konsistente data inden for registeret.
    Processen for indhentning af deltaudtræk bør, på baggrund af ovenstående, følge følgende logik:

    1. Tjek hvilket udtræksnummer der er påsat senest indhentede deltaudtræk.
    2. Indhent deltaudtræk med udtræksnumre der er større end det sidst indhentede deltaudtræks udtræksnummer.
      1. Dette sikrer at alle nyere deltaudtræk altid hentes uden at der springes nogle over, selvom der sker spring i udtræksnummeret på deltaudtrækkene.

    Navngivning af fildownloads

    De fildownloads der genereres på Datafordeleren følger alle en navnestandard, der hjælper med at beskrive hvad indholdet af filen er. Navnestandarden ser ud som set på Figur 3.

    Image Removed
    Figur 3: Overblik over navnestandard på fildownloads.
    Et fildownload som følger navnestandarden kan derfor eksempelvis have navn som følgende:

    1. DAR_1_Adresse_TotalDownload_JSON_Bitemporal_10.zip
    2. DAR_1_Adresse_DeltaDownload_JSON_Bitemporal_11.zip
    3. BBR_1_Bygning_TotalDownload_JSON_Temporal_123.zip
    4. MAT_1_Lodflade_TotalDownload_GPKG_Current_7.zip
    5. DAGI_1_Kommuneinddeling_TotalDownload_GML_Current_42.zip
    Man kan ud fra navngivningen af ovenstående fildownloads udlede følgende:
    1. Fildownload nr. 1 indeholder et fuldt bitemporalt totaldownload af Adresse-entiteten som ligger i DAR. Filen der downloades er en ZIP-fil, men ZIP-filen indeholder en JSON-fil. Filen har udtræksnummer 10.
    2. Fildownload nr. 2 indeholder et fuldt bitemporalt deltadownload af Adresse-entiteten som ligger i DAR. Filen der downloades er en ZIP-fil, men ZIP-filen indeholder en JSON-fil. Deltafilen har udtræksnummer 11 og ville derfor indeholde alle ændringer der var sket for Adresse-entiteten siden udtræksnummer 10. Denne deltafil ville derfor kunne bruges til at opdatere en datakopi der havde indlæst fildownload nr. 1, som har udtræksnummer 10.
    3. Fildownload nr. 3 indeholder et temporalt totaldownload af Bygning-entiteten som ligger i BBR. Filen der downloades er en ZIP-fil, men ZIP-filen indeholder en JSON-fil. Filen har udtræksnummer 123.
    4. Fildownload nr. 4 indeholder et totaldownload med aktuelle data af Lodflade-entiteten som ligger i MAT. Filen der downloades er en ZIP-fil, men ZIP-filen indeholder en GPKG-fil. Filen har udtræksnummer 7.
    5. Fildownload nr. 5 indeholder et totaldownload med aktuelle data af Kommuneinddeling-entiteten som ligger i DAGI. Filen der downloades er en ZIP-fil, men ZIP-filen indeholder en GML-fil. Filen har udtræksnummer 42.

    Skema for generering af fildownloads

    Skemaet i Tabel 4 viser, hvornår der genereres fildownloads for registrene på Datafordeleren. Bemærk at et register kan have frabedt sig at få genereret fildownloads for bestemte entiteter i deres datamodel og vil således ikke blive genereret efter skemaet. Lige så snart et fildownload er genereret, vil det være tilgængeligt igennem REST-API'et, som udstiller fildownloads. REST-API'et beskrives nærmere i afsnit 2.6.

    Register

    Type af fildownload

    Genereres hvornår (mellem kl. 3 og 6 om natten)

    EBR

    Totaldownload

    Lørdag

    DAR

    Totaldownload

    Lørdag

    BBR

    Totaldownload

    Lørdag

    MAT2

    Totaldownload

    Søndag

    DAGI

    Totaldownload

    Søndag

    GeoDanmarkVektor

    Totaldownload

    Søndag

    Danske Stednavne

    Totaldownload

    Mandag

    DHM Oprindelse

    Totaldownload

    Mandag

    DHM Højdekurver

    Totaldownload

    Mandag

    FIKSPUNKT

    Totaldownload

    Mandag

    Alle registre

    Deltadownload

    Hver nat

    Tabel 4: Oversigt over hvornår fildownloads bliver genereret.
    Såfremt der genereres et deltadownload, men at der ikke er sket nogle dataændringer siden sidste gang der blev genereret et deltadownload for en pågældende entitet, vil deltadownloadet være tomt. Hvis der genereres et totaldownload uden at der er sket dataændringer siden sidste gang, det blev genereret, vil det nye totaldownload i JSON-, GML- eller GPKG-format have et ældre udtræksnummer i sit filnavn end den zip-fil den er indeholdt i.
    Eksempelvis er det muligt at hente en fil med følgende navn:

    • DAR_1_Adresse_Total_JSON_Bitemporal_10.zip

    Her er udtræksnummeret på ZIP-filen 10, men ZIP-filen kan godt indeholde en JSON-fil med følgende navn:

    • DAR_1_Adresse_Total_JSON_Bitemporal_9.json

    JSON-filen har et lavere udtræksnummer end ZIP-filen, da der ikke er sket nogen ændringer i data siden sidste totaludtræk blev genereret for Adresse-entiteten. Såfremt der heller ikke sker nogen ændringer i Adresse-entiteten inden næste generering, vil ZIP-filen få udtræksnummer 11, mens den indeholdte JSON-fil stadig vil have udtræksnummer 9.

    Sådan hentes fildownloads

    Fildownloads på Datafordeleren tilgås via et REST-API. Dette afsnit beskriver, hvordan det vil være muligt at danne et overblik over hvilke fildownloads der kan hentes, samt hvorledes relevante fildownloads herefter hentes. REST-API'et indeholder to metoder som kan kaldes. REST-API'et kræver at man først har oprettet en tjenestebruger med brugernavn og password.

    Image Removed
    Figur 4: Overblik over samlet anvendelsesmønster for fildownloads.
    Figur 4 viser hvordan REST-API'et overordnet set anvendes. Her kaldes metoden "GetAvailableFileDownloads" først for at danne et overblik over mulige filer der er tilgængelige, hvorefter relevante filer hentes, ved at kalde metoden "GetFile".

    Metode: GetAvailableFiledownloads

    Metode: GetAvailableFiledownloads

    URL

    https://<env>-api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?

    HTTP-metode

    GET

    Headere i forespørgsel

    Content-Type: application/json

    Format

    JSON

    Returværdier

    • Returnerer HTTP 200 – OK, ved succes.
    • Returnerer HTTP 400 – Bad Request, ved angivelse af forkerte parametre.
    • Returnerer HTTP 404 – Not Found, hvis den angivne ressource ikke kan findes.
    • Returnerer HTTP 500 – Internal Server Error, hvis der er sket en ukendt fejl.

    Adgang

    Tjenestebruger med brugernavn og password.

    Dato- og tidsformat

    Datoformat følger ISO 8601Tidszonen er UTC

    Parametre

    Navn

    Type

    Beskrivelse

    Valgfri?

    Register

    String

    Begrænser responsen til kun at indeholde fildownloads fra det angivne register. Følgende registre kan angives:

    • DAR
    • DAGI
    • BBR
    • DHMOprindelse
    • DHMHoejdekurver
    • MAT (Der refereres her til Matriklen 2)
    • EBR
    • FIKSPUNKT
    • DS (Danske Stednavne)
    • GeoDKV

    Ja

    Version

    String

    Begrænser responsen til kun at indeholde fildownloads der er i den angivne version. Parameteret kan kun angives hvis "Register" parameteret er angivet.

    Ja

    Entity

    String

    Begrænser responsen til kun at indeholde fildownloads der er af samme type som den angivne entitet. Parameteret kan kun angives hvis "Register" parameteret er angivet.

    Ja

    Returværdier

    Metoden returnerer metadata om fildownloads, der følger strukturen beskrevet i Tabel 5.

    Felt

    Beskrivelse

    Filename

    Navnet på filen som kan downloades.

    Register

    Angiver hvilket register data i filen tilhører.

    EntityName

    Angiver navnet på registerentiteten som filens data tilhører.

    Frequency

    Angiver hvornår/hvor ofte der bliver genereret en ny fil af samme type med nyt udtræksnummer.

    TypeOfDownload

    Angiver om filen er et totaldownload eller et deltadownload.

    TypeOfData

    Angiver hvilken bitemporal filtrering der er anvendt på data i filen. Denne kan enten være "Bitemporal", "Temporal" eller "Current".

    Version

    Angiver underlæggende version af filens data.

    GenerationNumber

    Angiver udtræksnummeret.

    PointInTime

    Angiver tidspunkt for registrerings- og virkningstid der blev anvendt ved generering af fildownload. Feltet er kun sat hvis der er tale om et Temporalt eller Current fildownload.
    Datoformat følger ISO 8601Tidszonen er UTC

    GenerationTime

    Angiver tidspunktet for hvornår filen blev genereret. Datoformat følger ISO 8601Tidszonen er UTC

    ExpirationDate

    Angiver hvornår filen ikke længere udstilles på Datafordeleren.
    Datoformat følger ISO 8601Tidszonen er UTC

    ContainedFileFormat

    Angiver hvilket filformat ZIP-filen indeholder.

    OutputFileFormat

    Angiver filformatet på selve filen som kan downloades.

    Tabel 5: Overblik over returværdier for GetAvailableFiledownloads metoden.

    Eksempler på brug af metoden

    Se tilgængelige fildownloads for DAGI:

    Se tilgængelige fildownloads for "Bygning"-entiteten:

    Se tilgængelige fildownloads i version 1 i EBR:

    Metode: GetFile

    Metode: GetFile

    URL

    https://<env>-api.datafordeler.dk/FileDownloads/GetFile?

    http-metode

    GET

    Headere i forespørgsel

    Content-Type: application/json

    Format

    JSON

    Returværdier

    • Returnerer http 200 – OK, ved succes.
    • Returnerer HTTP 400 – Bad Request, ved angivelse af forkerte parametre.
    • Returnerer HTTP 404 – Not Found, hvis den angivne ressource ikke kan findes eller hvis brugeren ikke har adgang til den angivne fil.
    • Returnerer HTTP 500 – Internal Server Error, hvis der er sket en ukendt fejl.

    Adgang

    Tjenestebruger med brugernavn og password.

    Dato- og tidsformat

    Datoformat følger ISO 8601Tidszonen er UTC

    Parametre

    Navn

    Type

    Beskrivelse

    Filename

    String

    Specificerer en specifik fil til download. Dette parameter kan kun angives alene.

    Register

    String

    Specificerer, hvilket register der ønskes download fra. Hvis ikke parametrene 'LatestTotalForEntry' og 'Type' angives, bliver alle registerets totaldownloads downloadet.
    Følgende registre kan angives:

    • DAR
    • DAGI
    • BBR
    • DHMOprindelse
    • DHMHoejdekurver
    • MAT (Der refereres her til Matriklen 2)
    • EBR
    • FIKSPUNKT
    • DS (Danske Stednavne)
    • GeoDKV

    LatestTotalForEntity

    String

    Henter det seneste totaldownload for den specificerede entitet. 'Type' parameteret skal angives, såfremt dette parameter er angivet.

    Type

    String

    Angiver hvilken type fildownload der skal downloades for entiteten. 'LatestTotalForEntity' parameteret skal angives, såfremt dette parameter er angivet.

    Format

    String

    Angiver hvilket filformat der ønskes. Hvis 'LatestTotalForEntity' parameteret er angivet, skal dette parameter også angives.

    Version

    String

    Angiver hvilken version fildownloadet skal være i. Såfremt dette parameter ikke angives, vælges den nyeste version.

    Returværdier

    Denne metode returnerer altid en eller flere filer ved HTTP 200 - OK.

    Eksempler på brug af metoden

    Hent en specifik deltafil fra Danske Stednavne registeret:

    Kaldet returnerer en enkelt fil i en ZIP-fil.
    Hent totaldownloads for alle entiteter i BBR:

    Kaldet returnerer flere filer i en samlet ZIP-fil.
    Hent totaldownload med aktuelle data i GML-format for en bestemt entitet i Fikspunkt-registeret:

    Kaldet returnerer en enkelt fil i en ZIP-fil. 

    Etablering og vedligeholdelse af kopiregister ved brug af fildownloads

    Dette afsnit beskriver hvordan en anvender kan etablere et kopiregister lokalt ved at hente totaldownloads og herefter vedligeholde det ved at hente deltadownloads. Afsnit 2.4 beskriver kort hvordan dette gøres, mens dette afsnit tager de introducerede koncepter fra indeværende vejledning og bruger dem i dette eksempel.

    Et kopiregister er en hel kopi eller en delmængde af et registers data. Der kan være flere årsager til at have et kopiregister, men en af årsagerne er, at data er tilgængeligt indenfor anvenderens egen virksomhed og mindsker egen afhængighed til opslag på Datafordeleren. Det er dog vigtigt at understrege at kopiregisteret skal opdateres løbende for at beholde sin værdi, såfremt aktuelle data er nødvendige i virksomhedens brugsscenarie.
    Etablering af et kopiregister initieres ved først at hente et totaldownloads af relevante entiteter fra Datafordeleren. For at finde ud af, hvilke filer der er tilgængelige, benyttes GetAvailableFileDownloads-metoden. Dette gøres ved hjælp af følgende endpoint strukturering:

    Image Removed
    Ovenstående kald vil returnere følgende (forsimplet):

     Image Removed
    I ovenstående ses, at der både er et total- og deltautræk tilgængeligt. Når man vil etablere sit kopiregister, er det, som tidligere beskrevet, det samlede totaludtræk man er interesseret i.
    I dette scenarie repræsenterer filen "DAR1AdresseTotalJSONBitemporal101.zip" det samlede totaludtræk. Man vil derfor benytte sig af GetFile-metoden, som eksemplificeret nedenfor, til at hente filen:

    Image Removed
    Man kan også hente det seneste totaludtræk via følgende metode:

     Image Removed
    Vedligeholdelse af kopiregisteret opnås ved brug af deltaudtræk, hvilket sikrer, at kopiregisteret kontinuerligt opdateres med de nyeste data. De tre efterfølgende filer " DAR1AdresseDeltaJSONBitemporal102.zip", "DAR1AdresseDeltaJSONBitemporal103.zip" og "DAR1AdresseDeltaJSONBitemporal104.zip" repræsenterer i dette eksempel hver især deres eget deltaudtræk, bestående af entiteterne tilsvarende det totaludtræk der tidligere var hentet. Hver fil indeholder ændringer siden det forrige deltaudtræk og har et unikt udtræksnummer (henholdsvis 102, 103 og 104, som vist i Figur 5), der fungerer til at identificere hver iteration og sikrer korrekt anvendelse af data.
    Som beskrevet ovenfor, viser følgende illustration i Figur 5 hvorledes total-og deltautræk benyttes mellem Datafordeleren og anvenderen, til at etablere og vedligeholde et kopiregister. Image Removed
    Figur 5: Illustration af etablering og vedligeholdelse af kopiregister ved brug af total- og deltaudtræk.

    Transition fra filudtræk til fildownloads

    Dette afsnit beskriver forskelle mellem abonnementsbaserede filudtræk og prædefinerede entitetsbaserede fildownloads, samt hvordan man som anvender af filudtræk, kan komme i gang med at bruge entitetsbaserede fildownloads i stedet for. Det skal bemærkes at filudtræk og fildownloads driftes parallelt i en periode, så anvendere af Datafordeleren har mulighed for at skifte til fildownloads.

    Indhold i filer

    Totaludtræk på den Nuværende Datafordeler indeholder normalt hele registerets data, hvor alle registerets entiteter blev fordelt i lister og derefter samlet i én samlet fil. Dette kan ses i venstre side i Figur 6, som indeholder 4 lister med entiteter i. Den Moderniserede Datafordeler tager disse lister der hver især indeholder en entitet og opdeler så disse i hver deres filer i stedet for. Dette kan ses i højre side i Figur 6. Det er altså det samme data der udstilles i filerne sammenlagt, men hvor forskellen er at fildownloads hver især indeholder en delmængde af det samlede registers datasæt.

    Image Removed
    Anchor_Ref166513331_Ref166513331Figur 6: Sammenligning af data i filudtræk og fildownloads.
    Den Moderniserede Datafordeler udstiller på denne måde den samme data i fildownloads, som bliver udstillet i filudtræk på den Nuværende Datafordeler, dog med den ændring, at filerne er opdelt per entitet.
    Image Removed
    Figur 7: Sammenligning af data i filudtræk og fildownloads.
    Da fildownloads bliver genereret på entitetsniveau, betyder det også at hele entiteten udstilles, og at der ikke filtreres felter fra i det udstillede data, da dette er det samme som det der indlæses på Datafordeleren. Hvis man som anvender gerne vil vide præcis hvilke felter der eksisterer i fildownloads for en given entitet, skal man konsultere registrenes Dataleverancespecifikation (DLS), der i dens Bilag 3 (Opdatering) beskriver hvilke felter hvert registers entiteter består af. Registrenes DLS'er kan hentes findes på siden DLS-udstilling.

    Forskelle i GML og GeoPackage filudtræk og fildownloads

    I forbindelse med implementering af eksport af GML og GeoPackage fildownloads, er der taget en række design-beslutninger som er forskellige fra de valg som blev truffet da eksport af GML og GeoPackage filudtræk blev designet. Dette resulterer i følgende nævneværdige forskelle i de genererede filer, hvilket er beskrevet i dette afsnit.
    Generelle forskelle der gælder for begge filtyper:

    • I filudtræk eksporteres dato-felter i dansk tid. I fildownloads eksporteres dato-felter i UTC.
    • I filudtræk kan der eksistere et felt som indeholder Datafordelerens opdateringstidspunkt for den pågældende database-række. Dette er kun inkluderet i et filudtræk, hvis registeret eksplicit har bestilt dette i deres DLS. Dette felt er altid inkluderet i fildownloads.

    Fildownloads udstiller data per-entitet, med samme datamodel som registrene sender til Datafordeleren. Hvis et register i deres DLS for filudtræk har valgt at omdøbe kolonner, lave sammenstillinger mellem tabeller, har beregnede felter, eller lign., vil disse ikke være at finde i fildownloads. Der kan dermed forekomme flere/færre felter i fildownloads, og nogen felter kan have andre navne.
    GeoPackage-specifikke forskelle:

    I tilfælde af at registre har brugt karakterer i deres felt- eller entitet-navne som ikke er tilladt af GeoPackage standarden, renses navnene i fildownloads på følgende måde: æ/ø/å udskiftes til hhv. ae/oe/aa, og alle andre ugyldige karakterer udskiftes med _ (en understreg). Dette kan forårsage forskelle, hvis den manuelt definerede rensning som er brugt i filudtræk, ikke er udført på samme måde.
    GML-specifikke forskelle:

    • Der er en række mindre forskelle i XSD-skemaerne imellem filudtræk og fildownloads. F.eks. udstilles GML fildownloads med det pågældende registers namespace, hvorimod filudtræk bruger Datafordelerens namespace. Herudover indeholder fildownload XSD-skemaer alle registerets annotationer og type-restriktioner, hvilket ikke er inkluderet i filudtræk XSD-skemaerne.
    • I filudtræk eksporteres dato-felter med op til millisekund præcision. I fildownloads eksporteres dato-felter med op til mikrosekund præcision.
    • I tilfælde af at registre har brugt karakterer i deres felt- eller entitet-navne som ikke er tilladt i XML-standarden, renses navnene i fildownloads ved at skrive disse med XML LocalName encoding reglerne. Dette kan forårsage forskelle, hvis den manuelt definerede rensning som er brugt i filudtræk, ikke er udført på samme måde.

    GML "srsName" attributten skrives i filudtræk med den korte form "EPSG:25832" eller "EPSG:4326". I fildownloads bruges URN versionen af EPSG-definitionen, dvs. "urn:ogc:def:crs:EPSG::25832" og "urn:ogc:def:crs:EPSG::4326".

    Geografisk filtrering i fildownloads

    Følgende afsnit beskriver, hvordan man, som anvender, kan postprocessere fildownloads på forskellige geografiske egenskaber. Man kan lave geografisk filtrering på registerdata ved at filtrere på de egenskaber der ses i Tabel 6. For data, som kan filtreres geografisk, gælder det, at et datapunkt er associeret med:

    • En afledt geografisk identifikator, eksempelvis kommunekode. Et datapunkt kan filtreres på baggrund af denne kode.
    • En geometri, eksempel en polygon med EPSG referencekode. Polygonen kan sammenlignes med en referencegeometri, såsom en kommune, og på baggrund af det geometriske overlap kan datapunktet filtreres.

    Såfremt et datapunkt ikke har en reference til nogen af ovennævnte, kan det være tilfældet at datapunktet har en reference til en entitet der er associeret med enten en geometrisk identifikator eller geometri. Det er derfor ikke altid muligt direkte at foretage geografisk filtrering på en entitet uden først at behæfte entiteten med en geografisk identifikator først. Bemærk også at tabellen kun dækker de registre der har fildownloads. Der er i moderniseringens Udviklingsleverance 1 ikke implementeret generisk geografisk filtrering på fildownloads, idet det ville kræve, at Datafordeleren gør sig adskillige antagelser om, hvordan data anvendes i den anden ende. Såfremt disse antagelser ikke stemmer overens med den faktuelle brug, kan Datafordeleren fejlagtigt lave geografiske filtreringer, der er anderledes end anvenderens faktiske behov.

    Register

    Felt

    BBR

    Kommunekode

    EBR

    Kommunekode

    MAT

    Kommunekode

    GeoDanmark Vektor

    GeoDanmark kommunepolygon, kommunekode

    DAGI

    DAGI kommunepolygon

    DHM Højdekurver

    DAGI kommunepolygon

    Tabel 6: Overblik over hvilke geografiske egenskaber der skal filtreres på for forskellige registre. 





    Entitetsbaserede fildownload


    Denne guide beskriver forskelle mellem abonnementsbaserede filudtræk og prædefinerede entitetsbaserede fildownloads, samt hvordan du som anvender af filudtræk, kan komme i gang med at bruge entitetsbaserede fildownload. 







    Indhold i filer


    Totaludtræk på den Nuværende Datafordeler indeholder normalt hele registerets data, hvor alle registerets entiteter blev fordelt i lister og derefter samlet i én samlet fil. Dette kan ses i venstre side i nedenstående figur, som indeholder 4 lister med entiteter i. Den Moderniserede Datafordeler tager disse lister, der hver især indeholder en entitet, og opdeler så disse i hver deres filer i stedet for. Dette kan ses i højre side i figuren.

    Det er altså det samme data der udstilles i filerne sammenlagt, men hvor forskellen er at fildownload hver især indeholder en delmængde af det samlede registers datasæt.

    Image Added

    Den Moderniserede Datafordeler udstiller på denne måde den samme data i fildownload, som bliver udstillet i filudtræk på den Nuværende Datafordeler, dog med den ændring, at filerne er opdelt per entitet.


    Image Added

    Da fildownload bliver genereret på entitetsniveau, betyder det også at hele entiteten udstilles, og at der ikke filtreres felter fra i det udstillede data, da dette er det samme som det der indlæses på Datafordeleren.

    Hvis du som anvender gerne vil vide præcis hvilke felter der eksisterer i fildownload for en given entitet, skal du konsultere registrenes Dataleverancespecifikation (DLS), der i dens Bilag 3 (Opdatering) beskriver hvilke felter hvert registers entiteter består af. Registrenes DLS'er kan hentes findes på siden DLS-udstilling.



    Forskelle i GML og GeoPackage filudtræk og fildownload

    I forbindelse med implementering af eksport af GML og GeoPackage fildownload, er der taget en række design-beslutninger som er forskellige fra de valg som blev truffet da eksport af GML og GeoPackage filudtræk blev designet. Dette resulterer i følgende nævneværdige forskelle i de genererede filer, hvilket er beskrevet i dette afsnit.

    Generelle forskelle der gælder for begge filtyper

    • I filudtræk eksporteres dato-felter i dansk tid. I fildownload eksporteres dato-felter i UTC.
    • I filudtræk kan der eksistere et felt som indeholder Datafordelerens opdateringstidspunkt for den pågældende database-række. Dette er kun inkluderet i et filudtræk, hvis registeret eksplicit har bestilt dette i deres DLS. Dette felt er altid inkluderet i fildownload.

    Fildownload udstiller data per entitet, med samme datamodel som registrene sender til Datafordeleren. Hvis et register i deres DLS for filudtræk har valgt at omdøbe kolonner, lave sammenstillinger mellem tabeller, har beregnede felter, eller lign., vil disse ikke være at finde i fildownload. Der kan dermed forekomme flere/færre felter i fildownload, og nogen felter kan have andre navne.

    GeoPackage-specifikke forskelle

    • I filudtræk eksporteres dato-felter til en kolonne defineret med typen DateTime, og er begrænset til millisekund præcision. I fildownloads eksporteres dato-felter til en kolonne defineret med typen TEXT, og er begrænset til mikrosekund præcision, hvor datoen er skrevet i ISO8601 format.

    I tilfælde af at registre har brugt karakterer i deres felt- eller entitet-navne som ikke er tilladt af GeoPackage standarden, renses navnene i fildownload på følgende måde: æ/ø/å udskiftes til hhv. ae/oe/aa, og alle andre ugyldige karakterer udskiftes med _ (en understreg). Dette kan forårsage forskelle, hvis den manuelt definerede rensning som er brugt i filudtræk, ikke er udført på samme måde.

    GML-specifikke forskelle

    • Der er en række mindre forskelle i XSD-skemaerne imellem filudtræk og fildownload. F.eks. udstilles GML fildownload med det pågældende registers namespace, hvorimod filudtræk bruger Datafordelerens namespace. Herudover indeholder fildownload XSD-skemaer alle registerets annotationer og type-restriktioner, hvilket ikke er inkluderet i filudtræk XSD-skemaer.
    • I filudtræk eksporteres dato-felter med op til millisekund præcision. I fildownload eksporteres dato-felter med op til mikrosekund præcision.
    • I tilfælde af at registre har brugt karakterer i deres felt- eller entitet-navne som ikke er tilladt i XML-standarden, renses navnene i fildownload ved at skrive disse med XML LocalName encoding reglerne. Dette kan forårsage forskelle, hvis den manuelt definerede rensning som er brugt i filudtræk, ikke er udført på samme måde.

    GML "srsName" attributten skrives i filudtræk med den korte form "EPSG:25832" eller "EPSG:4326". I fildownload bruges URN versionen af EPSG-definitionen, dvs. "urn:ogc:def:crs:EPSG::25832" og "urn:ogc:def:crs:EPSG::4326".







    Geografisk filtrering i fildownload

    Følgende afsnit beskriver, hvordan du, som anvender, kan postprocessere fildownload på forskellige geografiske egenskaber.

    Du kan lave geografisk filtrering på registerdata ved at filtrere på de egenskaber der ses i nedenstående tabel. For data, som kan filtreres geografisk, gælder det, at et datapunkt er associeret med:

    • En afledt geografisk identifikator, eksempelvis kommunekode. Et datapunkt kan filtreres på baggrund af denne kode.
    • En geometri, eksempel en polygon med EPSG referencekode. Polygonen kan sammenlignes med en referencegeometri, såsom en kommune, og på baggrund af det geometriske overlap kan datapunktet filtreres.

    Såfremt et datapunkt ikke har en reference til nogen af ovennævnte, kan det være tilfældet at datapunktet har en reference til en entitet der er associeret med enten en geometrisk identifikator eller geometri. Det er derfor ikke altid muligt direkte at foretage geografisk filtrering på en entitet uden først at behæfte entiteten med en geografisk identifikator først. Bemærk også at tabellen kun dækker de registre der har fildownloads. Der er i moderniseringens Udviklingsleverance 1 ikke implementeret generisk geografisk filtrering på fildownloads, idet det ville kræve, at Datafordeleren gør sig adskillige antagelser om, hvordan data anvendes i den anden ende. Såfremt disse antagelser ikke stemmer overens med den faktuelle brug, kan Datafordeleren fejlagtigt lave geografiske filtreringer, der er anderledes end anvenderens faktiske behov.

    Register

    Felt

    BBR

    Kommunekode

    EBR

    Kommunekode

    MAT

    Kommunekode

    GEODKV

    GeoDanmark kommunepolygon, kommunekode

    DAGI

    DAGI kommunepolygon

    DHMHoejdekurver

    DAGI kommunepolygon







    Anvendereksempel på transition fra filudtræk til entitetsbaseret fildownload

    Dette eksempel tager udgangspunkt i en anvender der allerede bruger Datafordeleren og henter data fra DAR igennem filudtræk.

    Situationsbeskrivelse

    Dette eksempel antager at en anvender allerede har etableret en kopi af DAR og skal i gang med at bruge fildownloads.
    Anvenderen har først etableret sin datakopi af DAR ved at opsætte et abonnement på et brugerdefineret totaludtræk fra DAR med følgende parametre:

    • SincePrevious = True
    • RegistreringFra = 2021-03-01
    • VirkningFra = 2021-03-01
    • Format = JSON
    • Dagligt udtræk

    Anvenderen henter filudtræk fra Datafordeleren via sin SSH2-tjenestebruger dagligt og indlæser deltafilen i sin datakopi.

    Transition

    For at anvenderen kan komme i gang med at bruge fildownloads, skal anvenderen vælge mellem 2 muligheder:

    Mulighed A) Anvenderen ønsker at etablere en ny datakopi med fildownloads.
    Mulighed B) Anvenderen ønsker at indlæse data oveni en eksisterende datakopi med fildownloads.

    Anvenderen gør herefter følgende

    1. Anvenderen opretter en tjenestebruger med brugernavn og password på selvbetjeningen.
    2. Anvenderen kalder metoden GetAvailableFiledownloads med sin nye tjenestebruger som følger:
      1. https://api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?Register=DAR&username=xxxx&password=yyyy
    3. Da anvender nu ved, hvilke fildownloads der eksisterer, kalder anvender metoden GetFile, for at hente totaldownloads for alle entiteter i DAR:
      1. https://api.datafordeler.dk/FileDownloads/GetFile?Register=DAR&username=xxxx&password=yyyy
    4. Anvender er nu i besiddelse af et totaludtræk i DAR. Anvenderen kan nu vælge at sammensætte alle filerne til én stor fil og postprocessere denne, eller postprocessere filerne enkeltvis. Postprocesseringen filtrerer data fra, der har RegistreringFra og VirkningFra ældre end 2021-03-01.
    5. Dette skridt varierer, alt efter om anvenderen valgte mulighed A eller B, som er beskrevet ovenfor:
      1. Hvis anvenderen valgte mulighed A), skal anvenderen etablere sin lokale datakopi ved at indlæse data fra filerne. I dette eksempel har totaludtrækket fra DAR udtræksnummer 14.
      2. Hvis anvenderen valgte mulighed B) i stedet, skal anvender finde forskellen mellem sin lokale datakopi og den data der findes i totaludtrækket fra DAR som anvenderen netop har hentet.

    Anvender sætter herefter en vedligeholdelse op af sin datakopi. Vedligeholdelsen består i at hente deltadownloads ind fra DAR, som genereres dagligt. Anvenderen bemærker, at totaludtrækket har udtræksnummer 14, hvilket betyder at anvenderen skal hente deltadownloads fra DAR med udtræksnummer 15 og højere for at sørge for at datakopien holdes opdateret. Anvenderen kalder igen GetAvailableFiledownloads for at se, hvilke deltafiler der findes for DAR.

      1. https://api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?Register=DAR&username=xxxx&password=yyyy
    1. Anvenderen ser at der findes deltadownloads for samtlige entiteter i DAR med udtræksnumrene 15 og 16. Anvenderen ved derfor, at det vil være nødvendigt at hente alle deltadownloads for alle entiteter i DAR med de ovenstående udtræksnumre. Dette gør anvenderen ved at kalde GetFile for alle entiteterne i DAR med både udtræksnumre 15 og 16:
      1. https://api.datafordeler.dk/FileDownloads/GetFile?Filename=filename&username=xxxx&password=yyyy
    2. Anvenderen holder løbende øje med genereringen af DAR deltadownloads der genereres hver dag og sørger for at hente disse og indlæse dem i deres lokale datakopi.
    3. Anvenderen har nu sat sit system op til at bruge fildownloads.

    Image Added
    Figur 8: Opsummering af transitionsskridt for en anvender.
    Transitionen i ovenstående skridt er opsummeret i Figur 8.







    Anvendereksempel på transition med udgangspunkt i kopiregister

    Dette eksempel tager udgangspunkt i en anvender som allerede har etableret en kopi af BBR, som skal i gang med at bruge fildownloads.

    Situationsbeskrivelse

    I dette eksempel henter anvenderen daglige totaludtræk hvor registreringshistorikken ikke er nødvendig, og derfor filtreres fra. Anvenderen har sat følgende abonnement op:

    • SincePrevious = False
    • RegistreringFra = NOW()
    • Format = JSON
    • Dagligt udtræk

    Anvenderen bruger en tjenestebruger med brugernavn og password til at tilgå filudtræk.

    Transition

    1. Anvenderen kalder metoden GetAvailableFiledownloads med en nyoprettet API-nøgle som følger:
    2. Da anvender nu ved hvilke fildownload der eksisterer, kalder anvender nu metoden GetFile for at hente totaldownload for alle entiteter i BBR:
    3. Anvender er nu i besiddelse af et totaludtræk af BBR, heriblandt et totaludtræk med temporale data, dvs. registreringshistorikken er filtreret fra. Anvenderen kan nu vælge at sammensætte alle filerne til én stor fil og postprocessere denne, eller postprocessere filerne enkeltvis.
    4. Anvenderen etablerer herefter den samme vedligeholdelsesproces som blev beskrevet i afsnit 4.3.2. Da anvenderen her ikke er interesseret i registreringshistorikken, skal anvender dog huske at postprocessere deltadownload og filtrere denne historik fra, inden den data indlæses oveni den lokale datakopi.






    Rasterbaserede fildownload


    Denne guide beskriver, gennem to eksempler, hvordan du som anvender af filudtræk, kan komme i gang med at bruge fildownload til at hente rasterdata på Datafordeleren.  







    Anvendereksempel på transition med udgangspunkt i brug af bounding box for rasterdata


    Dette eksempel tager udgangspunkt i en anvender der allerede bruger Datafordeleren og henter data fra Danmarks Topografiske Kortværk i forholdet 1:25.000 (DTK25) igennem filudtræk.

    Situationsbeskrivelse

    Dette eksempel antager at en anvender plejer at hente de tiles fra DTK-registret der dækker Møn og skal i gang med at bruge fildownload.

    For at kunne hente et udsnit af kortet har anvenderen oprettet et abonnement på DTK25 Danmarks Topografiske Kortværk 1:25.000 Prædefineret. Anvenderen skal så finde navnene på de seks 20x20km tiles som dækker Møn, eventuelt ved brug af Dataforsyningen, for derefter at forbinde til Datafordelerens FTP-server og hente de tilhørende ZIP-filer.

    Transition

    1. Anvenderen finder koordinaterne på det nederste venstre og det øverste højre hjørne af det ønskede område i EPSG-25832 format, eventuelt ved brug af Dataforsyningen eller io.
    2. Anvenderen kalder metoden GetRasterMultipleFiles med koordinaterne fra (1) for at hente alle tiles i det pågældende område fra DTK25:
    3. Kaldet returnerer filen DTK_DTK25_696086_6084811-728240_6108653.zip som indeholder de 6 20x20km tiles: 2023_608_68.tif, 2023_608_70.tif, 2023_608_72.tif, 2023_610_68.tif, 2023_610_70.tif og 2023_610_72.tif






    Punktskybaserede fildownload


    Denne guide beskriver, gennem to eksempler, hvordan du som anvender af filudtræk, kan komme i gang med at bruge fildownload til at hente punktskydata på Datafordeleren.







    Anvendereksempel på transition med udgangspunkt i brug af bounding box for punktskydata


    Dette eksempel tager udgangspunkt i en anvender der allerede bruger Datafordeleren og henter punktskydata fra Danmarks Højdemodel (DHM_PUNKTSKY) igennem filudtræk.

    Situationsbeskrivelse

    Dette eksempel antager at en anvender plejer at hente de tiles fra DHM-registret der dækker Fejø og skal i gang med at bruge fildownload.

    For at kunne hente et udsnit af kortet har anvenderen oprettet et abonnement på Punktsky Brugerdefineret LAZ. Anvenderen skal så finde navnene på de 43 1x1km tiles som dækker Fejø, eventuelt ved brug af Dataforsyningen, for derefter at forbinde til Datafordelerens FTP-server og hente de tilhørende ZIP-filer.

    Transition

    1. Anvenderen finder koordinaterne på det nederste venstre og det øverste højre hjørne af det ønskede område i EPSG-25832 format, evt. ved brug af Dataforsyningen eller io.
    2. Anvenderen kalder metoden GetPointCloudMultipleFiles med koordinaterne fra (1) for at hente alle tiles i det pågældende område fra Punktsky-datsættet:

    Kaldet returnerer filen DHM_PUNKTSKY_650098_6088404-657989_6094473.zip som indeholder de 43 1x1km tiles.






    Bilag 1: FAQ


    1. Er min IP-adresse stadig godkendt?
      1. Ja det er den.
    2. Hvilken zone udstilles fildownloads i?
      1. Fildownloads udstilles i zone 0.
    3. Hvilken type bruger skal jeg bruge for at hente fildownloads?
      1. En tjenestebruger med brugernavn og password er påkrævet for at tilgå fildownloads.
    4. Hvordan hentes fildownloads?
      1. Dette sker ved at kalde REST-API'et der udstiller fildownloads. Se afsnit 2.6 for en uddybende beskrivelse.
    5. Hvilke tidspunkter bliver fildownloads genereret?
      1. Dette sker som udgangspunkt mellem kl. 3 og 6 om natten. Se skemaet i afsnit 2.5 der giver et overblik over hvornår der genereres fildownloads for hvert register.
    6. Er der fildownloads for alle registre?
      1. Nej, det er der ikke. Det er kun de registre som står anført i Tabel 3 som får fildownloads i de filformater der står angivet i tabellen.






    Bilag 2: Overførsel af filudtræk til entitetsbaserede fildownload

    Filudtræk

    Tilsvarende fildownloads

    BBR-Aktuelt-Totaludtraek_HF

    BBR_TotalDownload_Current for alle entiteter i BBR

    BBR-Totaludtraek_HF

    BBR_TotalDownload_Bitemporal for alle entiteter I BBR

    DAGI10MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOMHIST

    DAGI_TotalDownload_Bitemporal for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOMHIST_HF

    DAGI_TotalDownload_Bitemporal for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:10.000

    DAGI2000MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:2.000.000

    DAGI2000MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:2.000.000

    DAGI250MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:250.000

    DAGI250MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:250.000

    DAGI500MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:500.000

    DAGI500MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:500.000

    DAR-Aktuelt-Totaludtraek_HF

    DAR_TotalDownload_Current for alle entiteter I DAR

    DAR-Totaludtraek_HF

    DAR_TotalDownload_Bitemporal for alle entiteter I DAR

    DHMhoejdekurver025

    DHM_ referencekurve025_TotalDownload_Temporal

    DHMhoejdekurver025_HF

    DHM_ referencekurve025_TotalDownload_Temporal

    DHMhoejdekurver050

    DHM_ formkurve05_TotalDownload_Temporal

    DHMhoejdekurver050_HF

    DHM_ formkurve05_TotalDownload_Temporal

    DHMhoejdekurver250

    DHM_ formkurve25_TotalDownload_Temporal

    DHMhoejdekurver250_HF

    DHM_ formkurve25_TotalDownload_Temporal

    DHMhoejdekurverekstrempunkter

    DHM_kote05_TotalDownload_Current
    DHM_kote25_TotalDownload_Current

    DHMhoejdekurverekstrempunkter_HF

    DHM_kote05_TotalDownload_Current
    DHM_kote25_TotalDownload_Current

    DHMoprindelseKorrektion

    DHM_korrektionsegne_Bitemporal med GeoDK Soe-entiteten

    DHMoprindelseKorrektion_HF

    DHM_korrektionsegne_Bitemporal med GeoDK Soe-entiteten

    DHMoprindelsePunktoprindelse

    DHM_punktoprindelse_Bitemporal

    DHMoprindelsePunktoprindelse_HF

    DHM_punktoprindelse_Bitemporal

    DKstednavneBearbejdedeNohist

    DS_TotalDownload_Current for alle entiteter

    DKstednavneBearbejdedeNohist_HF

    DS_TotalDownload_Current for alle entiteter

    EBREjendomsbeliggenhedSimpel_HF

    EBR_TotalDownload_Current for alle entiteter

    EBREjendomsbeliggenhed_HF

    EBR_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60

    GeoDKV_TotalDownload_Temporal for alle entiteter

    GeoDanmark60HIST

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60HISTKommune_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter med geografisk filtrering på relevant kommune

    GeoDanmark60HISTRegion_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter med geografisk filtrering på relevant region

    GeoDanmark60HIST_HF

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter

    GeoDanmark60bruger

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60bruger_HF

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    MATkortdataGaeldendeDKComplete_GML

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet

    MATkortdataGaeldendeDKComplete_GPKG

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet

    MATkortdataGaeldendeKommuneComplete_GML

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet og med geografisk filtrering

    MATkortdataGaeldendeKommuneComplete_GPKG

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet og med geografisk filtrering

    MATregisterdataTotalUdtraek

    MAT_TotalDownload_Bitemporal for alle entiteter






    Bilag 3: Datasæt med rasterdata


    Register

    Datasætnavn

    skaermkort

    KlassiskS3

    KlassiskS6

    KlassiskS12

    KlassiskS24

    KlassiskS48

    KlassiskS96

    KlassiskS193

    KlassiskS387

    KlassiskS774

    KlassiskS1548

    KlassiskS3096

    KlassiskS6192

    KlassiskS07

    KlassiskS1

    DaempetS07

    DaempetS1

    DaempetS3

    DaempetS6

    DaempetS12

    DaempetS24

    DaempetS48

    DaempetS96

    DaempetS193

    DaempetS387

    DaempetS774

    DaempetS1548

    DaempetS3096

    DHM

    Terraen

    Overflade

    TerraenSkygge

    OverfladeSkygge

    Bluespot2007

    Terraen2015

    Overflade2015

    DTK

    DTK4cm19571976

    DTK4cm19771994

    DTK4cm19831997

    DTKHøjeMaalebordsblade

    DTKLaveMaalebordsblade

    DTKPreussiskeMaalebordsblade

    DTK25

    DTK250

    DTK500

    DTK1000

    GeoDKO

    GeoDKO10cm

    GeoDKO12,5cm






    Bilag 4: Datasæt med punktskydata


    Register

    Datasætnavn

    DHM

    Punktsky

    Punktsky2015

    Punktsky2007

    Anvendereksempel på transition fra filudtræk til fildownloads

    Dette eksempel tager udgangspunkt i en anvender der allerede bruger Datafordeleren og henter data fra DAR igennem filudtræk.

    Afsnittet giver et eksempel på, hvordan en eksisterende anvender på Datafordeleren kan overgå fra at bruge filudtræk i sit system til at bruge fildownloads. Afsnittet påbegyndes med en situationsbeskrivelse efterfulgt af konkrete trin der beskriver transitionen.

    Situationsbeskrivelse

    Dette eksempel antager at en anvender allerede har etableret en kopi af DAR og skal i gang med at bruge fildownloads.
    Anvenderen har først etableret sin datakopi af DAR ved at opsætte et abonnement på et brugerdefineret totaludtræk fra DAR med følgende parametre:

    • SincePrevious = True
    • RegistreringFra = 2021-03-01
    • VirkningFra = 2021-03-01
    • Format = JSON
    • Dagligt udtræk

    Anvenderen henter filudtræk fra Datafordeleren via sin SSH2-tjenestebruger dagligt og indlæser deltafilen i sin datakopi.

    Transition

    For at anvenderen kan komme i gang med at bruge fildownloads, skal anvenderen vælge mellem 2 muligheder:

    Mulighed A) Anvenderen ønsker at etablere en ny datakopi med fildownloads.
    Mulighed B) Anvenderen ønsker at indlæse data oveni en eksisterende datakopi med fildownloads.

    Anvenderen gør herefter følgende

    1. Anvenderen opretter en tjenestebruger med brugernavn og password på selvbetjeningen.
    2. Anvenderen kalder metoden GetAvailableFiledownloads med sin nye tjenestebruger som følger:
      1. https://api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?Register=DAR&username=xxxx&password=yyyy
    3. Da anvender nu ved, hvilke fildownloads der eksisterer, kalder anvender metoden GetFile, for at hente totaldownloads for alle entiteter i DAR:
      1. https://api.datafordeler.dk/FileDownloads/GetFile?Register=DAR&username=xxxx&password=yyyy
    4. Anvender er nu i besiddelse af et totaludtræk i DAR. Anvenderen kan nu vælge at sammensætte alle filerne til én stor fil og postprocessere denne, eller postprocessere filerne enkeltvis. Postprocesseringen filtrerer data fra, der har RegistreringFra og VirkningFra ældre end 2021-03-01.
    5. Dette skridt varierer, alt efter om anvenderen valgte mulighed A eller B, som er beskrevet ovenfor:
      1. Hvis anvenderen valgte mulighed A), skal anvenderen etablere sin lokale datakopi ved at indlæse data fra filerne. I dette eksempel har totaludtrækket fra DAR udtræksnummer 14.
      2. Hvis anvenderen valgte mulighed B) i stedet, skal anvender finde forskellen mellem sin lokale datakopi og den data der findes i totaludtrækket fra DAR som anvenderen netop har hentet.

    Anvender sætter herefter en vedligeholdelse op af sin datakopi. Vedligeholdelsen består i at hente deltadownloads ind fra DAR, som genereres dagligt. Anvenderen bemærker, at totaludtrækket har udtræksnummer 14, hvilket betyder at anvenderen skal hente deltadownloads fra DAR med udtræksnummer 15 og højere for at sørge for at datakopien holdes opdateret. Anvenderen kalder igen GetAvailableFiledownloads for at se, hvilke deltafiler der findes for DAR.

      1. https://api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?Register=DAR&username=xxxx&password=yyyy
    1. Anvenderen ser at der findes deltadownloads for samtlige entiteter i DAR med udtræksnumrene 15 og 16. Anvenderen ved derfor, at det vil være nødvendigt at hente alle deltadownloads for alle entiteter i DAR med de ovenstående udtræksnumre. Dette gør anvenderen ved at kalde GetFile for alle entiteterne i DAR med både udtræksnumre 15 og 16:
      1. https://api.datafordeler.dk/FileDownloads/GetFile?Filename=filename&username=xxxx&password=yyyy
    2. Anvenderen holder løbende øje med genereringen af DAR deltadownloads der genereres hver dag og sørger for at hente disse og indlæse dem i deres lokale datakopi.
    3. Anvenderen har nu sat sit system op til at bruge fildownloads.

    Image Removed
    Figur 8: Opsummering af transitionsskridt for en anvender.
    Transitionen i ovenstående skridt er opsummeret i Figur 8.

    Anvendereksempel på transition med udgangspunkt i kopiregister

    Dette eksempel tager udgangspunkt i en anvender som allerede har etableret en kopi af BBR, som skal i gang med at bruge fildownloads.

    Situationsbeskrivelse

    I dette eksempel henter anvenderen daglige totaludtræk hvor registreringshistorikken ikke er nødvendig, og derfor filtreres fra. Anvenderen har sat følgende abonnement op:

    • SincePrevious = False
    • RegistreringFra = NOW()
    • Format = JSON
    • Dagligt udtræk

    Anvenderen bruger en tjenestebruger med brugernavn og password til at tilgå filudtræk.

    Transition

    1. Anvenderen kalder metoden GetAvailableFiledownloads med sin eksisterende tjenestebruger som følger:
      1. https://api.datafordeler.dk/FileDownloads/GetAvailableFileDownloads?Register=BBR&username=xxxx&password=yyyy
    2. Da anvender nu ved hvilke fildownloads der eksisterer, kalder anvender nu metoden GetFile for at hente totaldownloads for alle entiteter i BBR:
      1. https://api.datafordeler.dk/FileDownloads/GetFile?Register=BBR&username=xxxx&password=yyyy
    3. Anvender er nu i besiddelse af et totaludtræk af BBR, heriblandt et totaludtræk med temporale data, dvs. registreringshistorikken er filtreret fra. Anvenderen kan nu vælge at sammensætte alle filerne til én stor fil og postprocessere denne, eller postprocessere filerne enkeltvis.
    4. Anvenderen etablerer herefter den samme vedligeholdelsesproces som blev beskrevet i afsnit 4.3.2. Da anvenderen her ikke er interesseret i registreringshistorikken, skal anvender dog huske at postprocessere deltadownloads og filtrere denne historik fra, inden den data indlæses oveni den lokale datakopi.

    Bilag 1: FAQ

    1. Er min IP-adresse stadig godkendt?
      1. Ja det er den.
    2. Hvilken zone udstilles fildownloads i?
      1. Fildownloads udstilles i zone 0.
    3. Hvilken type bruger skal jeg bruge for at hente fildownloads?
      1. En tjenestebruger med brugernavn og password er påkrævet for at tilgå fildownloads.
    4. Hvordan hentes fildownloads?
      1. Dette sker ved at kalde REST-API'et der udstiller fildownloads. Se afsnit 2.6 for en uddybende beskrivelse.
    5. Hvilke tidspunkter bliver fildownloads genereret?
      1. Dette sker som udgangspunkt mellem kl. 3 og 6 om natten. Se skemaet i afsnit 2.5 der giver et overblik over hvornår der genereres fildownloads for hvert register.
    6. Er der fildownloads for alle registre?
      1. Nej, det er der ikke. Det er kun de registre som står anført i Tabel 3 som får fildownloads i de filformater der står angivet i tabellen.

    Bilag 2: Overførsel af filudtræk til fildownloads

    Filudtræk

    Tilsvarende fildownloads

    BBR-Aktuelt-Totaludtraek_HF

    BBR_TotalDownload_Current for alle entiteter i BBR

    BBR-Totaludtraek_HF

    BBR_TotalDownload_Bitemporal for alle entiteter I BBR

    DAGI10MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOMHIST

    DAGI_TotalDownload_Bitemporal for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOMHIST_HF

    DAGI_TotalDownload_Bitemporal for alle entiteter hvor skala er 1:10.000

    DAGI10MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:10.000

    DAGI2000MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:2.000.000

    DAGI2000MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:2.000.000

    DAGI250MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:250.000

    DAGI250MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:250.000

    DAGI500MULTIGEOM

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:500.000

    DAGI500MULTIGEOM_HF

    DAGI_TotalDownload_Current for alle entiteter hvor skala er 1:500.000

    DAR-Aktuelt-Totaludtraek_HF

    DAR_TotalDownload_Current for alle entiteter I DAR

    DAR-Totaludtraek_HF

    DAR_TotalDownload_Bitemporal for alle entiteter I DAR

    DHMhoejdekurver025

    DHM_ referencekurve025_TotalDownload_Temporal

    DHMhoejdekurver025_HF

    DHM_ referencekurve025_TotalDownload_Temporal

    DHMhoejdekurver050

    DHM_ formkurve05_TotalDownload_Temporal

    DHMhoejdekurver050_HF

    DHM_ formkurve05_TotalDownload_Temporal

    DHMhoejdekurver250

    DHM_ formkurve25_TotalDownload_Temporal

    DHMhoejdekurver250_HF

    DHM_ formkurve25_TotalDownload_Temporal

    DHMhoejdekurverekstrempunkter

    DHM_kote05_TotalDownload_Current
    DHM_kote25_TotalDownload_Current

    DHMhoejdekurverekstrempunkter_HF

    DHM_kote05_TotalDownload_Current
    DHM_kote25_TotalDownload_Current

    DHMoprindelseKorrektion

    DHM_korrektionsegne_Bitemporal med GeoDK Soe-entiteten

    DHMoprindelseKorrektion_HF

    DHM_korrektionsegne_Bitemporal med GeoDK Soe-entiteten

    DHMoprindelsePunktoprindelse

    DHM_punktoprindelse_Bitemporal

    DHMoprindelsePunktoprindelse_HF

    DHM_punktoprindelse_Bitemporal

    DKstednavneBearbejdedeNohist

    DS_TotalDownload_Current for alle entiteter

    DKstednavneBearbejdedeNohist_HF

    DS_TotalDownload_Current for alle entiteter

    EBREjendomsbeliggenhedSimpel_HF

    EBR_TotalDownload_Current for alle entiteter

    EBREjendomsbeliggenhed_HF

    EBR_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60

    GeoDKV_TotalDownload_Temporal for alle entiteter

    GeoDanmark60HIST

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60HISTKommune_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter med geografisk filtrering på relevant kommune

    GeoDanmark60HISTRegion_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter med geografisk filtrering på relevant region

    GeoDanmark60HIST_HF

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60_HF

    GeoDKV_TotalDownload_Temporal for alle entiteter

    GeoDanmark60bruger

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    GeoDanmark60bruger_HF

    GeoDKV_TotalDownload_Bitemporal for alle entiteter

    MATkortdataGaeldendeDKComplete_GML

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet

    MATkortdataGaeldendeDKComplete_GPKG

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet

    MATkortdataGaeldendeKommuneComplete_GML

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet og med geografisk filtrering

    MATkortdataGaeldendeKommuneComplete_GPKG

    MAT_Totaldownload_Current for alle entiteter med tilknyttet jordstykke pr. entitet og med geografisk filtrering

    MATregisterdataTotalUdtraek

    MAT_TotalDownload_Bitemporal for alle entiteter