Få overblik over jeres GIS-data

Ishøj Kommune og Septima foreslår crowd funding af open source QGIS-plugin

Af: Mie Winstrup - 7. november 2019

Godt overblik er det halve arbejde. Har man som GIS-administrator overblik over sine GIS-data, er det nemmere at holde styr på dem og gøre dem tilgængelige for medarbejderne. Som bruger betyder et godt overblik, at det er nemt at finde frem til dét datasæt, man skal bruge. Når en GIS-administrator skal vedligeholde data, er det desuden vigtigt at vide, hvilke data, der indgår i hvilke QGIS-projekter - så man ikke bliver overrasket, hvis et datasæt slettes, flyttes eller omdøbes.

Ishøj Kommune gør deres GIS-data let tilgængelige

Siden 2017 har Ishøj Kommune arbejdet med et setup, der gør det let både for kommunes GIS-administratorer og for brugerne at have overblik over kommunens GIS-data og QGIS-projekter.

Systemet består af to komponenter. Den ene er programmet, QLap, som automatisk gennemgår de relevante drev for QGIS-data og -projekter - fx hver nat. Oplysningerne gemmes og indekseres i en PostgreSQL-database. Den anden komponent er et søgefelt i selve QGIS, som gør det nemt at finde de lag frem, man skal bruge, og at tilføje dem til dét projekt man arbejder med.

I dette 3 minutter filmklip viser Felipe Hemmingsen fra Ishøj Kommune, hvordan dette setup fungerer i QGIS 2.18:

Vi i Septima har udviklet systemet til Ishøj Kommune. Ishøj og Septima er enige om, at det bedste ville være at begge komponenter i QLap kunne gøres frit tilgængeligt som open source. Så kan alle organisationer, som bruger QGIS, bruge løsningen. Før det kan ske, skal der dog bruges lidt tid på at tilføje et par ekstra funktioner, bl.a. bedre fejlhåndtering, og på at gøre pluginnet mere generisk. Derefter kan det give værdi for mange flere. Desuden er der en opgave i at få både QLap og søgefeltet opdateret til QGIS 3.

I dette 2 minutters filmklip fortæller jeg om den lidt mere tekniske baggrund bag QLap, og om hvordan vi tænker, at dette skal komme til at virke i QGIS 3:

Vi håber, at der er flere QGIS-brugere, som kan se værdien i QLap og der derfor vil være flere organisationer, som – sammen med Ishøj og Septima – vil være med til at finansiere en videreudvikling af QLap og den tilhørende søgefunktionalitet som et frit open source-plugin til QGIS 3.

Er du interesseret? Læs hvordan du kan bidrage i bunden af denne blog: “Vil du være med…”

Sådan virker QLap i dag – detaljeret beskrivelse

Det nuværende system-setup, som er baseret på QGIS 2.18, består som nævnt af to dele:

  • QLap: Et program til at identificere GIS-data og QGIS-projekter på et drev, samt hvilke data, der anvendes i hvilke QGIS-projekter
  • Et søgefelt i QGIS, hvor brugeren af QGIS kan fremsøge GIS-data og QGIS-projekter

De to dele gennemgås mere detaljeret nedenunder.

1. QLap: Identifikation af GIS-data og QGIS-projekter og deres sammenhæng

QLap er en batfil, som identificerer:

  • Hvilke QGIS-projekter, der ligger på drevet
  • Hvilke lag hvert af disse QGIS-projekter indeholder - også tabeller i en PostgreSQL-database
  • Hvilke shapefiler, tabfiler, csv-filer og andre GIS-filer, der ligger på drevet

Oplysningerne gemmes i tre tabeller i en PostgreSQL-database: ‘qgisfiles’, ‘datasources’ og ‘links’.

I ‘qgisfiles’ gemmes navnet på de fundne QGIS-projekter og QGIS-projektets sti. I ‘datasources’ gemmes, hvilke GIS-filer (shapefiler, tabfiler og csv-filer), der findes på drevet og deres navn i QGIS-projektet. I ‘links’ gemmes oplysning om, hvilke GIS-filer der findes i hvilke QGIS-projekter. De tre tabeller oprettes automatisk første gang QLap køres.

Før QLap køres første gang, skal man i en opsætningsfil definere:

  • Hvilket drev, der skal gennemgås
  • Hvilke GIS-filer, der skal identificeres. Pt. understøttes shapefiler, tabfiler og csv-filer.
  • I hvilken database og hvilket skema, oplysninger om QGIS-projekter, GIS-data og links skal gemmes

2. Søgefelt i QGIS, hvorfra brugeren kan fremsøge GIS-data og QGIS-projekter

I QGIS 2.18 er disse oplysninger søgbare via Septima Search-pluginet, hvor der vises ét ikon for et GIS-lag, der opfylder søgekriteriet og et andet ikon for QGIS-projekter, der opfylder søgekriteriet.

Nedenfor ses et eksempel på en søgning efter ‘bygge’: Der findes 11 tabeller i databasen, hvor ‘Bygge’ indgår i tabelnavnet eller tabelbeskrivelsen, og der findes 24 GIS-lag på drevet, hvor ‘Bygge’ indgår i lagnavnet eller navnet i QGIS-projektet. Man kan også se, at der findes 3 QGIS-projekter, hvor ‘Bygge’ indgår i projektnavnet.

QLAP

Er brugeren kun interesseret i at finde ud af, hvilke GIS-lag på drevet, som indeholder ordet ‘Bygge’, så klikker brugeren på ‘QGIS lag på s-drev’, og de 24 lag vises:

QLAP

Brugeren kan nu tilføje et eller flere af disse lag ved at klikke på lagnavnet.

Er brugeren derimod interesseret i at se de QGIS-projekter, hvor ‘Bygge’ indgår, så klikker brugeren på ‘QGis projekter på s-drev’, og navnet og stien til de 3 QGIS-projekter vises:

QLAP

Brugeren kan nu åbne et af disse QGIS-projekter ved at klikke på QGIS-projektet.

Er brugeren tilsvarende kun interesseret i at finde de tabeller i QGIS-databasen, hvor ‘Bygge’ indgår, så klikker brugeren på ‘Tabeller’, hvorefter tabellerne vises:

QLAP

Brugeren kan nu tilføje et eller flere af disse tabeller til QGIS-projektet ved at klikke på tabelnavnet.

Vores ideer til en opdateret open source-QLap

Der er brug for en opdatering af programmet og en videreudvikling og finpudsning, som kan gøre disse arbejdsgange mulige i QGIS 3 - og dermed til gavn for flere brugere.

Vores idé er, at en opdateret og open source-version af løsningen skal bygge på samme setup som i dag, dvs. QLap, som identificerer GIS-data og QGIS-projekter på et drev og et særligt søgefelt i QGIS, hvor brugeren nemt kan fremsøge GIS-data og QGIS-projekter.

Nedenfor beskriver jeg ideerne til den nye version af løsningen:

1. Forbedringer i QLap

Selve QLap-komponenten vil virke på samme måde som i dag, men med forbedringer. Funktionaliteten skal blandt andet udvides, så tabeller i PostgreSQL-databaser også kan identificeres, lagres og indekseres.

Opsætningen af QLap ved hjælp af en settings-fil skal ske på samme måde som i dag; Administratoren angiver hvilket drev, der skal gennemgås, hvilke typer af GIS-filer, der skal identificeres og hvilken database skema, oplysningerne skal gemmes i.

2. Forbedringer i QGIS søgefeltet

I QGIS version 3 og fremefter er der tilføjet en helt ny funktion i feltet ‘locator’ nederst i venstre hjørne.

Vores idé er, at dette nye felt også vil kunne bruges som søgefelt til at fremsøge de GIS-data og QGIS-projekter, som QLab har fundet.

Implementeringen vil betyde, at de GIS-filer og -projekter som QLap har fundet, kan søges frem i ’locator’ søgefeltet nederst til venstre – på samme måde som man i dag kan finde kortlag fra Kortforsynings-plugin’et:

QLAP

Vil du være med til at gøre QLap til open source?

Det vi ønsker er altså at finde finansiering så en ny, opdateret version af QLap-løsningen kan gøres til open source – så mange flere QGIS-brugere kan får nytte af løsningen.

Modellen kræver, at udviklingen bliver timeafregnet; Præcis hvor lang tid det vil tage, er lidt svært at vide, da det afhænger af, hvor mange problemer vi støder ind i, men ifølge vores estimat nedenfor vil der være tale om ca. 8-10 dage, svarende til omkring 100.000 DKK.

Opgaven kan opdeles i fire delopgaver:

  • Opgradering af QLap så batfilen kan køres på QGIS 3 projekter
  • Integration af søgeresultaterne fra QLap i QGIS 3
  • Videreudvikling af QLap, så der også søges i tabeller i PostgreSQL-database og evt. andre filformater
  • Oversættelse fra engelsk til dansk samt opdatering af pluginbeskrivelse mv.

Opgradering af QLap så batfilen kan køres på QGIS 3 projekter

Denne del består af følgende:

  • Opgradering af koden så den kan anvendes på QGIS-projekter lavet i QGIS 3, dvs. både qgs og qgz-format
  • Finjustering af den eksisterende kode.
  • Koden skal gøres mere stabil
  • Opsætningen skal laves mere generisk
  • Tilføjelse af mere fejlhåndtering

Estimeret tidsforbrug: 3-5 dage (dvs. ca. 50.000)

Integration af søgeresultaterne fra QLap i QGIS 3

Denne del består af følgende:

  • Indstillingerne skal flyttes til den generelle indstillingsmenu
  • Integration med søgefeltet ‘locator’

Estimeret tidsforbrug: 1 dag (dvs. ca. 10.000)

Videreudvikling af QLap, så der også søges i tabeller i PostgreSQL-database

Denne del består af følgende:

  • Justering af settingsfilen så det i denne kan vælges, hvorvidt der skal søges i PostgreSQL-tabeller, samt sti til PostgreSQL-database
  • Opgradering af batfilen til QLap, så denne også medtager PostgreSQL-filer i søgning efter GIS-lag

Estimeret tidsforbrug: 2-3 dage (dvs. ca. 30.000)

Oversættelse fra engelsk til dansk samt opdatering af pluginbeskrivelse mv.

Denne del består af følgende:

  • Oversættelsen af pluginet så pluginet både findes til engelsk og dansk version af QGIS
  • Opdatering af beskrivelsen af pluginet

Estimeret tidsforbrug: 0,5 dag (dvs. ca. 5.000)

Hvad nu?

Er du interesseret eller vil høre mere, så skriv til os på kontakt@septima.dk.

Læs også