Datafordelerplugin til QGIS

Nu virker data fra Datafordeleren i QGIS 3

Af: Mie Winstrup - 20. februar 2019

En lang række af de danske kort og geodata som vi anvender, udstilles via Datafordeleren. Det gælder fx data fra GeoDanmark (bygninger, vejmidter, skove etc.), DAGI (Danmarks Administrative Geografiske Inddeling), Matrikelen og Danske Stednavne.

I dette indlæg beskriver vi processen for at få sådanne data fra Datafordeleren gjort tilgængelige i QGIS 3.4 ved hjælp af et særligt “Datafordeler plugin”.

Nederst finder du en vejledning i, hvordan du kommer i gang med at dette plugin.

QGIS har problemer med at vise data fra Datafordeleren

Tilbage i september 2016 lavede vi den første version af et Datafordeler-plugin til QGIS, som skulle gøre det let at bruge Datafordelerens data i den daværende version af QGIS - QGIS 2.14.

I den første version udstillede plugin’et kun WMS-data fra Datafordeleren, dvs. datakilder med en simpel opbygning. Efterfølgende begyndte Datafordeleren at udstille WFS-data, i en meget kompleks struktur med z-koordinater og hierarkier af informationer, der skal samles førend data kan vises.

Dette medførte, at rigtig mange af Datafordelerens datakilder ikke kunne vises korrekt i QGIS 2.18, uanset om man brugte vores Datafordeler-plugin til QGIS 2.18 eller QGIS’ egen WMS/WFS-indlæser. I QGIS 3 kunne datafordelerens data slet ikke hentes ind.

Herunder ses et eksempel på dén del af problemet som handler om z-værdien: QGIS 2.18 forstår ikke Datafordelerens z-information:
Visning af bygninger fra Datafordeleren i QGIS 2.18

WFS-standarden er åben for mange forskellige implementeringer. Det er derfor sammenspillet mellem den måde som WFS’erne fra Datafordeleren er implementeret, og hvordan QGIS forstår denne implementering, der giver problemet. QGIS misforstår Datafordelerens WFS-udstilling, og viser derfor data forkert.

I QGIS 2.18 er det muligt at bruge plugin’et WFS 2.0 Client til at se Datafordeler-data. Dette plugin downloader dog data, der gemmes som temporært lag, hvilket betyder at tilføjelse og ændringer i data ikke vises når dette plugin bruges.

Flere kommuner og en styrelse går sammen

En række kommuner kontaktede os, da de ønskede, at det igen kunne blive muligt at få vist Datafordelerens data i QGIS. Vi undersøgte kernekoden i QGIS - og det blev klart for os, at det ville kræve en række ændringer i QGIS’ kernekode hvis WFS’erne fra Datafordeleren skulle kunne vises korrekt i QGIS.

En række kommuner og en styrelse valgte at bidrage økonomisk til denne udvikling. Størstedelen af udviklingen har Septima selv finansieret.

Rettelser til kernekode i QGIS

Vi har derfor lavet en række ændringer til kernekoden i QGIS, der vil gøre det muligt at tilføje Datafordelerens data via QGIS’ egen WMS/WFS-indlæser. Vi er igang med at gøre disse kodeændringer klar til upload til QGIS’ GitHub repository. Vi ved dog endnu ikke, hvilken QGIS-version, ændringerne forhåbentligt kommer med i.

Vores mål er altså at Datafordelerens korttjenester kan tilføjes direkte til QGIS - på samme måde som WFS-data fra fx MiljøGIS, Plandata.dk etc. Det vil betyde at:

  • Data opdateres automatisk, da data ikke gemmes lokalt. Tilføjelser og ændringer i data vil derfor blive vist uden at brugeren skal gøre noget.
  • Data kan deles fx vha. Qlr-filer, hvilket gør det lettere at bruge data på tværs af organisationen
  • Det er mere enkelt at hente WFS-data fra Datafordeleren, da dette ikke skal ske på en særskilt måde, der er afhængigt af, at et specifikt plugin er installeret
  • Data kan vises i QGIS 3

Proxy til Datafordeleren

Da en ændring af kernekode i QGIS godt kan tage tid at få implementeret, har vi lavet en proxy til Datafordeleren, hvorfra vi udstiller Datafordelerens data i et format som QGIS kan læse.

Datafordeleren udstiller data i en hierarkisk struktur, hvor et lag nedarver oplysninger fra tabeller højere oppe. Vi har således lavet en proxy, der samler de forskellige informationer og udstiller dem på en enkelt måde.

Pt. udstilles data fra følgende datakilder:

DAGI - Danmarks Administrative Geografiske Inddelinger

For beskrivelse af datakilden henvises til datafordeleren.dk. Følgende data udstilles gennem vores proxy:

  • Afstemningsområde
  • Kommuneinddeling
  • Menighedsraadsafstemningsomraade
  • Opstillingskreds
  • Postnummerinddeling
  • Sogneinddeling
  • SupplerendeBynavn

GeoDanmark

For beskrivelse af datakilden henvises til datafordeleren.dk. Det er kun de generelle felter/kolonner, der udstilles for hvert lag. Følgende data udstilles gennem vores proxy:

  • Afvandingsgroeft - ingen felter
  • AnlaegDiverse - ingen felter
  • BadeBaadebro
  • Bassin
  • Begravelsesomraade - ingen felter
  • Broenddaeksel
  • Brugsgraense - ingen felter
  • Bygning
  • Bygvaerk
  • Bykerne - ingen felter
  • Chikane - ingen felter
  • Daemning
  • Dige
  • Erhverv - ingen felter
  • Gartneri - ingen felter
  • Havn
  • Hede
  • Hegn
  • Helle - ingen felter
  • Hoefde
  • HoejBebyggelse - ingen felter
  • Hoejspaendingsledning
  • Jernbane_brudt
  • Kratbevoksning
  • Kyst
  • LavBebyggelse - ingen felter
  • Mast
  • Nedloebsrist
  • Omraadepolygon - ingen felter
  • Parkering
  • Parkeringsomraade - ingen felter
  • Plads - ingen felter
  • Raastofomraade
  • RekreativtOmraade - ingen felter
  • SandKlit - ingen felter
  • Skortsten
  • Skov
  • Skraent
  • Soe
  • Startbane
  • StatueSten - ingen felter
  • Systemlinje
  • TekniskAreal
  • Telemast
  • Togstation
  • Trae - ingen felter
  • Traegruppe - ingen felter
  • Trafikhegn - ingen felter
  • Vaadomraade
  • Vandloebskant
  • Vandloebsmidte_brudt - ingen felter
  • Vejkant
  • Vejmidte_brudt - ingen felter
  • Vindmoelle

Stednavne

For beskrivelse af datakilden henvises til datafordeleren.dk. Hvert objekt har rigtig mange felter, bl.a. mange felter med forskellige stednavne. Det er ikke alle felter, der er medtaget i vores proxy, men vi har sikret, at det første felt med selve stednavnet er medtaget. Følgende data udstilles gennem vores proxy:

  • AndenTopografiFlade
  • AndenTopografiPunkt
  • Bebyggelse
  • Begavelsesplads
  • Bygning
  • Campingplads
  • FaergeruteLinje - pt. intet stednavn, men det arbejdes der på
  • FaergerutePunkt - pt. intet stednavn, men det arbejdes der på
  • Farvand
  • Fortidsminde
  • Friluftsbad
  • Havnebassin
  • Idraetsanlaeg
  • Jernbane
  • Landskabsform
  • Lufthavn
  • Naturareal
  • Navigationsanlaeg
  • Restriktionsareal
  • Rute
  • Sevaerdighed
  • Soe
  • Standsningssted
  • Terraenkontur
  • UrentFarvand
  • Vandloeb
  • Vej

Matrikel

For beskrivelse af datakilden henvises til datafordeleren.dk. Det er kun de generelle felter/kolonner, der udstilles for hvert lag. Af denne grund udstilles feltet med status ikke, hvilket gør at det ikke er muligt at vide, hvorvidt et objekt er gældende eller nedlagt mv. Følgende data udstilles gennem vores proxy:

  • BygningPaaFremmedGrundFlade
  • BygningPaaFremmedGrundPunkt
  • Centroide
  • Ejerlav
  • Ejerlejlighedslod
  • JordstykkeTemaflade
  • Lodflade
  • MatrikelKommune
  • Matrikelskel
  • MatrikelSogn
  • Nullinje
  • OptagetVej
  • SamletFastEjendom
  • Skelpunkt
  • Temalinje

Det nye Datafordeler-plugin giver dig adgang til data

Vi har lavet en ny version af pluginet, der gør det let at tilføje data fra Datafordeleren til QGÌS 3.4. Dette plugin trækker på vores proxy til Datafordeleren. Hastigheder på datafordeler, samt opsætning af Datafordeleren,
har derfor betydning for hvordan vores proxy performer.

Men den nye version af Datafordeler-pluginet håber vi, at det bliver lettere at indlæse data fra Datafordeleren.

Vejledning - sådan kommer du igang med at bruge pluginet

  • Opret en tjenestebruger til Datafordeleren - dvs. først skal du oprette en webbruger, derefter en tjenestebruger under denne webbruger. Læs mere her
  • Download Datafordeler-pluginet. På sigt vil plugin'et blive tilgængeligt gennem QGIS' plugin repository, men indtil da downloades pluginet fra Septimas Github
  • Start QGIS 3.4
  • Installér pluginet ved at klikke på 'Administrér og Installér Plugins' under menuen 'Plugins'
  • Vælg fanen 'Installér fra ZIP'
  • Udpeg zip-filen med Datafordeler-pluginet som du hentede i trin 2
  • Klik 'Installér'
  • Søg efter 'Datafordeler' i Locator-feltet (dvs. søgefelter i nederste venstre hjørne af QGIS), og klik på 'Datafordeler (Muligheder)'/'Datafordeler (Settings)', herved åbnes en dialog
  • I denne dialog indtastes tjenestebrugernavn og adgangskode til tjenestebrugeren
  • Klik 'OK'
  • Nu bør du kunne tilføje data fra menuen 'Datafordeler'. Dette gør du ved at klikke på det lag du ønsker at tilføje

Vil du medfinanisere udviklingen af plugin’et og ændringer af QGIS kernekode?

Vil du gerne bidrage til udviklingen, så kan du stadig nå det! Skriv til kontakt@septima.dk.

Læs også