Publiceret: 11. november 2022 Læsetid: 10 min.

Go’e data via brugervenlig indsamling

Når man indsamler og vedligeholder data ved hjælp af QGIS anvender mange de standardformularer, som QGIS viser, til inddatering af attributdata. Men man kan også gå skridtet videre og med en begrænset indsats lave en avanceret formular, så inddateringen bliver nemmere for brugeren og datakvaliteten højnes.

Avancerede formularer i QGIS

Som nogle måske ved, deltog jeg i FOSS4G konferencen i Firenze i august måned – og her fik jeg en masse tips og inspiration med hjem.

Ét af de emner, jeg hørte et indlæg om, var avancerede formularer i QGIS. Jeg har tidligere arbejdet med det på egen hånd, men nu er ét af de gamle projekter støvet af med den nye viden. Det kan både tjene som et eksempel på mulighederne og måske også være konkret brugbart for QGIS brugere i forsyningsselskaberne.

Mulighederne belyst ved et eksempel

Lad os lige starte med en indflyvning til emnet! Når man indlæser et lag i QGIS og efterfølgende vil redigere dette – enten ved indsættelse af nye objekter eller opdatering af attributværdier – så får man vist en standard dialogboks med alle lagets attributfelter.

Felterne vises med det feltnavn, de har i datakilden (og dette kan være mere eller mindre forståeligt for brugeren). Derudover vises de i den (ofte ikke logiske) rækkefølge, som de findes i datakilden, og med en standardformatering, som QGIS efter bedste evne prøver at sætte på ud fra datatypen.

Det kan føre til både lange og kryptiske formularer, som desuden i mange tilfælde indeholder attributter, som brugeren slet ikke skal bekymre sig om – enten fordi de ikke er relevante i den givne kontekst eller fordi de udfyldes automatisk. Det kan f.eks. være id-felter eller tidsstempler for oprettelse/redigering.

I dette indlæg vil vi som eksempel se på et kortlag med alle de nødvendige/obligatoriske felter (og et par ekstra) til indberetning af graveskader til LER, således som det er lovmæssigt krævet af forsyningsselskaberne én gang om året.

Det vil – i standard opsætning, som ses nedenfor – medføre en ret lang liste af attributter uden kontrol med deres udfyldelse.

Forbedringsmuligheder?

Vi bemærker en hel del ting, som kunne være bedre:

  • id-feltet øverst skal brugeren ikke bekymre sig om – det autoudfyldes! Så hvorfor forvirre brugeren ved at vise det?
  • Feltnavnene er i dette tilfælde nok forståelige, men alligevel ikke super brugervenlige! F.eks. kan man nemt snuble over betydningen af attributten ‘forsyningsartanden’.
  • På felter, hvor der er et givet antal foruddefinerede valgmuligheder, f.eks. ‘skadevoldertype’ og ‘forsyningsart’, er der oprettet et domæne med de gyldige valgmuligheder. De vises her kun med koden for den givne værdi. Det er ikke bare ikke-brugervenligt, det er helt uanvendeligt.
  • Der er ingen kontrol med, om brugeren får udfyldt alle de attributter, som LER kræver. Det medfører risiko for, at data afvises, når de én gang årligt skal uploades til LER. Og så starter detektiv-arbejdet med at finde de manglende oplysninger. Det er på ingen måde en rationel arbejdsgang!
  • Endelig er der nogle sammenhænge, hvor visse data skal inddateres, hvis andre data har en given værdi. F.eks. skal ‘forsyningsartanden’ udfyldes, hvis ‘forsyningsart’ er ‘Andet’.

Alt i alt er der masser af plads til forbedring! 😆

Det bedre alternativ!

Forbedringerne på ovenstående kan laves på flere niveauer. Først og fremmest kan man – og det vil de fleste under alle omstændigheder gøre – opsætte valglister og ændre felterne til dropdown bokse for alle felter, som har et foruddefineret udfaldsrum.

Men man kan også gå linen helt ud og tilpasse formularen med QGIS’ indbyggede drag-n-drop designer, som det ses nedenfor:

For det første vises her kun de nødvendige felter og endda opdelt i logiske faner med en markering af obligatoriske felter etc. Det øger overblikket markant, og de brugerdefinerede ledetekster gør, at man ikke er i tvivl om, hvad felterne skal indeholde.

Et felt, som netop ovennævnte ‘forsyningsartanden’, vises kun, hvis man faktisk vælger ‘Andet’ under forsyningsart:

Opsætningen indeholder desuden validering af indtastningerne. Herved sikres at man ikke kan gemme sin registrering, hvis data ikke lever op til LERs foreskrifter herfor.

Felter, som er orange og har et rødt kryds til højre, overholder ikke reglerne. Dette kan yderligere kombineres med regler (constraints) i databasen, som validerer data.

Først når alle obligatoriske felter viser et grønt flueben til højre, aktiveres OK-knappen. Nu kan brugeren gemme sin registrering.

Med andre ord sikrer man den nødvendige datakvalitet samtidig med, at man letter brugerens arbejde gennem en mere overskuelig, logisk og forståelig brugerflade.

Og det hele er sket med QGIS standardværktøjer og en tidsmæssigt meget overskuelig indsats! What’s not to like? 😉

Interesseret i at høre mere?

Hvis du tænker, at ovenstående var noget, du godt kunne bruge – enten det konkrete eksempel til LER graveskadeindberetning eller i en helt anden sammenhæng, hvor I inddaterer relativt mange attributværdier og ønsker en stærk validering af disse – så kontakt mig endelig!

Jeg bidrager gerne til sådanne opsætninger og giver hints til, hvordan du selv kan gøre dette fremover.

© Copyright 2022 - Styrke 10 ApS