Kurs Geodatenmanagement mit Python

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

Geodatenmanagement mit Python und Open Source Software

Ein GISpunkt-Seminar 1-2 Tage (Kürzel: 'GeoMgmtPythonOSS'). Siehe auch GIS-Kurse.

Über diesen Kurs

Viele Geodatenmanager stehen vor der Herausforderung, heterogene Geodaten zu importieren, zu testen und in eine Geodatenbank, bzw. ein eigenes GIS zu integrieren. Es gibt bereits einige Open Source-Software-Projekte, die produktiv und "an der Front" im Einsatz sind, wie beispielweise QGIS (Desktop/Server-GIS) PostGIS (Geodatenbank) oder Spatialite (Geodatenbank/Geodatenformat). Oft kommt man an Situationen, bei denen die vorgegebenen Funktionen nicht mehr genügen. Dafür gibt es Skriptingsprachen - d.h. Computerprogrammiersprachen - wie Python, die relativ einfach zu erlernen sind und es ermöglichen, eigene Funktionen zusammenzustellen, die auf der Grundfunktionalität aufbauen.

Python erfreut sich in letzter Zeit immer grösserer Beliebtheit und ist dabei, andere Sprachen wie VisualBasic, PHP und Perl abzulösen. Python ist wohl jetzt schon die verbreitetste Skriptingsprache in GIS-Software (u.a. ArcGIS, QGIS, FeatureServer aber auch GDAL/OGR, PostGIS und SpatiaLite) und wird z.B. auch von der Fa. Google gefördert.

Ziele, Voraussetzungen etc.

  • Kursziele:
    • Ein erstes Ziel ist, einen Einstieg zu geben in die Programmierung mit Python.
    • Das zweite - eigentliche - Ziel ist, eigene Programme/Skripte zu erstellen mit Software-Werkzeugen zur Konvertierung/Transformation (OGR/GDAL) und für den Import von Geodaten in Spatialite und PostGIS.
  • Zielpublikum:
    • Sachbearbeiter in Planungsbüros
    • GIS-Interessierte
  • Kurskonzept:
    • Der Kurs ist praxisorientiert; d.h. dass der Uebungsanteil ca. 40% ausmacht.
    • Wenige durchgehende Beispiele dienen der Veranschaulichung der theoretischen Aspekte.
    • Geübt wird entweder auf modernsten Desktop-PCs in den Schulungsräumen oder aber auf von den Teilnehmern mitgebrachten Laptops. Bei Bedarf wird im Kurs Unterstützung geboten bei der Installation der freien Open Source-Software auf den eigenen Laptops.
  • Rahmenbedingungen:
    • Geschult wird in Gruppen von zwischen 6 und max. 12 Teilnehmern (pro Übungsbetreuer)
    • ... mit moderner Infrastruktur und in entspannender Umgebung gleich zwischen Bahnhof, Lido und See.
  • Voraussetzungen:
    • Anwenderkenntnisse eines GIS.
    • Grundkenntnisse in Informatik ("Was ist ein Datentyp INTEGER und FLOAT?").
    • Grundkenntnisse von PostGIS (Daten laden) sowie Grundkenntnisse von SQL (eigene SELECT-Abfragen auf Geodaten formulieren können).
  • Hinweise:

Programm (Entwurf)

Teil I / 1. Tag: Python kennen lernen

  • Überblick
  • Einführung in Python
  • Datentypen, Kontrollstrukturen/Iteratoren, Funktionen
  • Kommentare, Ein- und Ausgabe
  • Die integrierte Entwicklungsumgebung (IDE) mit Editor einrichten (Moderne Softwareentwicklung Teil 1)
  • Praxis: Ein erstes prozedurales Skript
  • Objektorientierte Programmierung mit Modulen (Klassen)
  • Praxis: Ein erstes objektorientiertes Python-Programm
  • Fehlerbehandlung, Debugger
  • Datum/Uhrzeit; Filesystem
  • Praxis: "Fremde" Python-Skripte lesen sowie Fehler erkennen und beheben

Teil II / 2. Tag: Python-Projekte aufsetzen und Geodaten transformieren und konvertieren

  • Python-Standardbibliotheken kennen lernen und einbinden
  • Praxis: Programmieren/Anpassen eines eigenen Skripts zur Bereinigung von Excel/CSV-Daten-Format
  • GDAL/OGR zur Transformation und Format-Konversion
  • Praxis: Koordinatensystem-Transformation einer Rasterdatei
  • Praxis: Format-Konversion von CSV nach Shapefile
  • SpatiaLite/SQLite als Geodatenbanksystem und Austauschformat
  • Praxis: Programmieren eines einfachen Geoprozesses mit SpatiaLite
  • Automatisiertes Testen und Dokumentieren (Moderne Softwareentwicklung Teil 2)
  • Praxis: Ein erster automatisierter Programmtest mit PyUnit
  • Ausblick