Videoer fra brugermødet d. 8 marts kan nu ses her[.

Få WFS'erne fra Datafordeleren til at blive vist korrekt

miewinstrup
Indlæg: 33
Tilmeldt: ons 2. mar 2016 09:34
Geografisk sted: København

Få WFS'erne fra Datafordeleren til at blive vist korrekt

Indlægaf miewinstrup » tors 13. sep 2018 14:13

I Septima vil vi gerne få WFS-data fra Datafordeleren til at blive vist korrekt i QGIS, derfor ønsker vi at lave en række ændringer, der får WFS’erne til at blive vist korrekt i QGIS 2.x (fx QGIS 2.18) og QGIS 3.x (fx QGIS 3.2)

Baggrund:
En lang række af vigtige danske data udstillet via Datafordeleren, kan ikke vises korrekt i QGIS. Dette drejer sig bl.a. om data fra det fælles datagrundlag, GeoDanmark (bygninger, vejmidter, skove etc.), danske stednavne og DAGI (Danmarks Administrative Geografiske Inddelinger).

I nedenstående eksempel ses, hvordan GeoDanmark bygninger (markeret med grønt) vises i QGIS:
WFSvisning-af-bygninger.png


Grunden til, at data fra Datafordeleren ikke vises korrekt skyldes, at WFS-standarden åbner for mange forskellige implementeringer. Det er således 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 således denne WFS-udstilling, hvilket gør at data vises forkert.

En række kommuner har kontaktet os vedrørende dette problem, der gør det svært at anvende disse data i QGIS. En work-around i QGIS 2.x er, at bruge pluginet ‘WFS 2.0 Client’ til at vise data fra Datafordeleren. Problemet ved denne løsning er, at pluginet gemmer data lokalt, hvilket betyder, at data ikke automatisk opdateres.

Desuden er ‘WFS 2.0 Client’-pluginet ikke på nuværende tidspunkt omskrevet til QGIS 3, og kan således ikke bruges i den nye version af QGIS 3.x.

Vi mener, at det er bedre, at data fra Datafordeleren kan tilføjes direkte fra QGIS - dvs. tilføjes på samme måde som WFS-data fra MiljøGIS, Plandata.dk etc. Dette er bedre fordi:
Data opdateres automatisk, da data ikke gemmes lokalt. Således vises ændringer i data 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 vil være 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 plugin er installeret

Løsning
For hurtigst muligt at få WFS’erne til at blive vist korrekt foreslår vi en løsning, der består af to dele: Første del er, at få WFS’erne til at blive vist korrekt så hurtigt som muligt - og dette skal virke i QGIS 2.x og QGIS 3.x. Denne her-og-nu-løsning er uholdbar på længere sigt, således er anden del at lave en løsning, der virker på længere sigt og desuden har en lang række fordele.

Første del af løsningen (her-og-nu-løsningen, der vil være okay på kort bane):
Vi laver en proxy til Datafordeleren og derfra udstiller data i et format som QGIS kan læse. Vi opdaterer Datafordeler-pluginet til QGIS 2.18, samt får pluginet til at virke i QGIS 3. Denne løsning er uafhængig af udvikling til kerne af QGIS, og derfor vil vi hurtigt kunne få WFS’erne til at blive vist korrekt i QGIS.

Opsummeret giver denne løsning:
Datafordeler plugin til QGIS 2.x, hvorfra WFS’erne fra Datafordeleren kan hentes ind i QGIS. Dette plugin trækker på live-data fra Datafordeleren.
Datafordeler plugin til QGIS 3.x, hvorfra WFS’erne fra Datafordeleren kan hentes ind i QGIS. Dette plugin trækker på live-data fra Datafordeleren.

Anden del af løsningen (den langsigtede løsning)
Proxy-løsningen er fin til at løse problemet her-og-nu, men på sigt er dette ikke en holdbar løsning, da det betyder at alle kald til Datafordeleren går gennem Septimas server. Derfor er det nødvendigt at lave ændringer direkte i QGIS, dvs. ændre i kernekoden af QGIS. Vi har været i dialog med QGIS-kerneudviklerne, og de har givet grønt lys til at vi laver disse kodeændringer til QGIS. I Septima har vi allerede erfaring med udvikling af kernekode til QGIS, bl.a. har vi implementeret skyggerendering (QGIS 2.x), ændringer og nye funktioner til lagdialogen, samt søgning efter bogmærker og indstillinger i søgefeltet ‘Locator’ (QGIS 3.x).

Da denne løsning kræver ændring af QGIS-kernekode, afhænger implementering i QGIS af roadmap for QGIS-udviklingen, samt hvor hurtigt kerneudviklerne accepterer vores kodeændringer. Målet er, at vi får koden tilføjet så ændringerne er med i QGIS 3.4.4, der bliver næste Long Term Release (LTR).

Opsummeret giver denne løsning:
I QGIS 3.x vil WFS’erne kan hentes ind gennem WFS-fanen i ‘Data Source Manager’ (dansk version af QGIS: Datakilde Håndtering)
Andre WFS-services der udstilles ligesom Datafordeleren, vil også blive vist korrekt. Således er denne løsning med til at øge funktionalitet af QGIS

Finansiering
QGIS er open source, hvilket gør at udvikling skal finansieres ‘up front’ - dvs. at vores udgifter til udviklingen skal finansieres ved betaling af de timer vi bruger på udviklingen, da vores kodetilføjelser inkorporeres i QGIS og bliver frit tilgængelig for alle.

Vi har estimeret udviklingen til 150 timer, da der er en del der skal programmeres og testes, samt der skal være tid til dialog med kerneudviklerne for at få implementeret funktionaliteten på bedst vis. Desuden vil delen for at få WFS’erne til at blive vist nu-og-her også kræver noget udviklingstid til oprettelse og drift af proxy-løsningen.

Vi håber derfor at kunne samle en række kommuner og andre brugere til medfinanisering. Vi foreslår, at hver kommune betaler 10.000 kr (ekskl. moms), og at vi kan samle nok til at dække udgifterne. Der er allerede et par kommuner, der har tilkendegivet at de ønsker at være med til finansiering.

Kommentér gerne i denne tråd eller skriv/ring til Mie (mie@septima.dk, 31683641) eller Bo (bo@septima.dk, 91326940) hvis du har spørgsmål, kommentarer og/eller gerne vil deltage i medfinansiering.
Du har ikke de nødvendige tilladelser til at se vedhæftede filer i dette indlæg.
0 x
Mie Winstrup
Septima

Social Media

       

Tilbage til "QGIS (kernen)"

Hvem er online

Brugere der læser dette forum: Ingen og 0 gæster