Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Anchor | ||||
---|---|---|---|---|
|
Denne side 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.
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 |
---|
Sideinformation
Display Metadata hidetableheader true
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.
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.
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-skemaerne i fildownload skemaer alle registerets annotationer og type-restriktioner, hvilket ikke er inkluderet i filudtræk XSD-skemaerne i filudtrækskemaer.
- 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 |
GeoDanmark VektorGEODKV | GeoDanmark kommunepolygon, kommunekode |
DAGI | DAGI kommunepolygon |
DHM HøjdekurverDHMHoejdekurver | DAGI kommunepolygon |
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
- Anvenderen opretter en tjenestebruger med brugernavn og password på selvbetjeningen.
- Anvenderen kalder metoden GetAvailableFiledownloads med sin nye tjenestebruger som følger:
- Da anvender nu ved, hvilke fildownloads der eksisterer, kalder anvender metoden GetFile, for at hente totaldownloads for alle entiteter i DAR:
- 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.
- Dette skridt varierer, alt efter om anvenderen valgte mulighed A eller B, som er beskrevet ovenfor:
- 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.
- 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.
- 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:
- 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.
- Anvenderen har nu sat sit system op til at bruge fildownloads.
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
- Anvenderen kalder metoden GetAvailableFiledownloads med sin eksisterende tjenestebruger som følger:
- Da anvender nu ved hvilke fildownloads der eksisterer, kalder anvender nu metoden GetFile for at hente totaldownloads for alle entiteter i BBR:
- 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.
- 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
- Er min IP-adresse stadig godkendt?
- Ja det er den.
- Hvilken zone udstilles fildownloads i?
- Fildownloads udstilles i zone 0.
- Hvilken type bruger skal jeg bruge for at hente fildownloads?
- En tjenestebruger med brugernavn og password er påkrævet for at tilgå fildownloads.
- Hvordan hentes fildownloads?
- Dette sker ved at kalde REST-API'et der udstiller fildownloads. Se afsnit 2.6 for en uddybende beskrivelse.
- Hvilke tidspunkter bliver fildownloads genereret?
- 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.
- Er der fildownloads for alle registre?
- 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 |
DHMhoejdekurverekstrempunkter_HF | DHM_kote05_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 |