Courses – Kurser

AestasGIS udbyder kurser indenfor brugen af QGIS, GDAL og PostgreSQL. For alle kurser gælder det, at kurserne bliver individuelt tilpasset efter kundens behov.

Kurserne kan afholdes “on-site” hos kunden eller hos AestasGIS.

Kursus: Automatisering af processing workflows samt udvikling af plugins i QGIS

Kursusdatoer i 2025:

Mandag 13. januar- fredag 17. januar – Afholdes hos AestasGIS

Mandag 10. marts – fredag 14. marts – Afholdes hos AestasGIS

Kontakt for yderligere datoer på bvt@aestas.dk

QGIS er et opensource og gratis GIS-program med mange muligheder for opsætning af automatiserede workflows samt tilpasninger af brugerflade og funktionalitet.

I dette 5-dages kursus lærer vi en række metoder til at udvide funktionaliteten i QGIS.


Vi starter med “Model Designer”, som” er et grafisk “Peg og Klik” værktøj til at udvikle workflows baseret på eksisterende “Processing” algoritmer.

Vi fortsætter med selv at udvikle nye “Processing” algoritmer skrevet i Python, som kan tilføje ny muligheder til Model Designer eller som kan bruges som “Stand-alone” funktioner med en simpel brugerflade.

Slutteligt lærer vi at udvikle QGIS “Plugins”, som er avancerede og fuldt integrerede udvidelser til QGIS med komplekse og interaktive brugerdialoger.
Integreret i kursusforløbet lærer vi endvidere at kunne arbejde med computersproget Python samt de interne frameworks, der eksisterer i QGIS.

Forudsætninger:

Programmeringserfaring fra et generelt programmeringssprog. Gerne Python – men ikke nødvendigvis.

Kendskab til QGIS: Det forventes, at kursusdeltager har grundigt kendskab til QGIS på brugerniveau.

Har kursusdeltagerne ønsker om at udvikle specifikke QGIS workflows eller plugins, er det nødvendigt at vide, hvorledes workflowet udføres manuelt i QGIS.

Undervisningssprog:

Engelsk eller dansk efter ønske. Da undervisningsmateriale er på engelsk, skal deltageren være i stand til at læse teknisk information på engelsk.

Computer:

Deltagere skal have en Windows computer til rådighed – og have mulighed for at installere programmer på denne under kursusforløbet (Windows brugerkontoen skal have “local admin” rettigheder)

Deltagerantal:

Der kan maksimalt deltage 4 personer pr. kursus.

Kursusindhold:

I QGIS er der en række forskellige metoder til automatisering af workflows. Fælles for alle metoder er brugen af Python som programmeringssprog samt brugen af QT framework til kommunikation mellem QGIS og Python inkl. generering og styring af brugerdialoger.

De tre metoder, der undervises i dette kursus rækker fra “Peg-og-Klik” programming i Model Designer, hvor udvikler ikke direkte arbejder med Python, men “designer” sit program ved at sammenbinde forskellige processing-moduler i et grafisk miljø.

Næste niveau er udviklingen af “Processing” moduler vha. Python og hvor der arbejdes med en simplificeret brugerflade. Processing moduler kan karakteriseres som “Batch” programmer, hvor QGIS brugeren opstarter modulet ved at define en række inddata/oplysninger til modulet, hvorefter dette gennemfører opgaven uden videre indblanden fra brugeren.

Processing-moduler kan bruges som “Stand-alone” programmer til udførelse af specifikke opgaver indenfor QGIS, men kan også bruges sammen med andre processing-moduler i komplekse workflow – designet vha. Model Designer.

Endelig har vi QGIS Plugins, som er deciderede udvidelser til QGIS’s brugerflade og funktionalitet. Et QGIS plugin skrives i Python og brugerfladen til denne designes vha. QT Designer værktøjet. Plugin’et er fuldt integreret i QGIS’s standard brugerflade og kan have det højeste niveau af interaktivitet mellem bruger og plugin.

Kursets indhold vil blive individuelt tilpasset deltagernes ønsker, niveau og behov.

    • Tilpasning af kurset foretages i god tid – mindst en måned inden kursusstart – via webmøder mellem Aestas’ kursusansvarlige og deltagerne.
      Udbytte:

Kursisten vil efter endt kursus have den nødvendige viden til selv at:

    • Evaluere hvilken metode (Model / Processing / Plugin), der passer bedst til en given automatiseringsopgave.
    • Benytte “Model Designer”, som er et grafisk værktøj i QGIS til designe workflows.
    • Udvikle “Processing” – Python moduler til implementering af en “batch” proces. Dette modul vil kunne benyttes som et “stand-alone” script i QGIS eller indgå i et større workflow designet vha. Model Designer.
    • Udvikle QGIS plugins fra bunden, inklusive: 

      • Basis viden om at programmere i Python sproget.
      • Benytte det grundlæggende QT-framework som bruges i QGIS sammen med Python.
      • Design af brugerflader vha. “QT Designer” værktøjet.
      • Benytte et open-source Python IDE (Integrated Development Environment)
      • Benytte GitHub for versionskontrol og deling af programkode

Detaljeret beskrivelse af kursus:

Undervisning i Model Designer –

    • Gennemgang af Model Designer:
      Opstart, Designer (Tegnebordet), “Variables”, “Inputs” og “Algorithms”,
    • Opsætning af inddatavalg
    • Opsætning af algoritmer
    • Design af modellen med brug af inddata og opsætning og sammenkobling af algoritmer.
    • Definition af modelresultater og hvorledes resultater præsenteres i QGIS som lag, filer, databasetabeller osv.
    • Indlægning af den færdige model i QGIS Framework
    • Konvertering af model til Python Scripts

Programmering i Python –

Ved gennemgang af Python sproget forventes det, at deltager allerede har stiftet bekendtskab med et generelt programmeringssprog. Det behøves ikke at være Python, selv om dette selvfølgelig er en fordel.

Introduktion til Python-programmering foretages direkte i QGIS’ egen Python editor, hvor de forskellige sprog elementer gennemgås med en række eksempler.

    • Import modules
    • Classes
    • PyQT Framework
    • Variables
    • Assignments
    • Control structures
    • Function definitions
    • Input/output

Brug af et Python udviklingsmiljø (Programming IDE) –

    • Hvad er et IDE? (Integrated Development Environment). Og hvorfor bruges dette ??
    • Valg af eksternt IDE.
    • Opsætning af IDE.
    • Integration til QGIS.

Brug af GitHub til versionskontrol og fildeling –

    • Brug af GitHub
    • Integration af IDE til GitHub

Udvikling af Processing plugins –

    • Generel beskrivelse
    • Beskrivelse af input klasser
    • Beskrivelse af Processing klasser
    • Programmering af simpelt Processing Script ud fra QGIS.org’s eksempel
    • Indlejring af modul i QGIS’ processing framework.

QGIS QT framework –

    • Generel beskrivelse
    • QT klasser som python klasser vha. PyQT
    • QGIS API (klasser) som python klasser.
    • Kommunikation mellem Python og QT klasser med Signal / Slots
    • Design af brugerflader via Python kodning
    • Demonstration

Programmering af QGIS Plugins –

    • Generel beskrivelse
    • Generering af nyt “tomt” plugin med Plugin Builder
    • Design af brugerflade med QT Designer til plugin
    • Konvertering af ressource-filer til Python kode
    • Sammenkobling af brugerflade med plugin
    • Kommunikation mellem plugin metoder og brugerflade klasser (Signal/Slots)
    • Eksempler på brug PyQT og PyQGIS metoder
    • Distribution af plugin
    • Yderligere informationskilder, f.eks. Gary’s bog: https://locatepress.com/book/ppg3

Follow up

Efter kurset er der mulighed for at supplere med op til 4 timers follow up via Zoom.

Tilmelding:

Aftale om afholdelse af kursus sker efter aftale og ved henvendelse til Bo Victor Thomsen, bvt@aestas.dk
Henvendelse skal ske mindst een måned før forventet kursusforløb, således det er muligt at foretage tilpasninger af kursusforløb baseret på deltagernes ønsker og niveau.

Pris:

Kursuspris er 22.250 pr. person ex. moms