Kurs Geodatenmanagement mit Python

Aus Geoinformation HSR
Version vom 13. März 2011, 14:06 Uhr von Stefan (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Geodatenmanagement mit Python und Open Source Software''' Ein GISpunkt-Seminar 1-2 Tage (Kürzel: 'GeoMgmtPythonOSS'). Siehe auch GIS-Seminare. == Über …“)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Geodatenmanagement mit Python und Open Source Software

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

Über diesen Kurs

Viele Geodatenmanager stehen vor der Herausforderung, heterogene Geodaten zu importieren, zu testen und in eine Datenbank zu integrieren. Es gibt bereits einige Open Source-Software-Projekte, die produktiv "an der Front" im Einsatz sind, wie zum Beispiel QGIS (Desktop/Server-GIS) oder PostGIS (Geodatenbank). 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 handhaben sind und es ermöglichen, eigene Funktionen zusammenzustellen, die auf der Grundfunktionalität aufbauen und einen direkteren Zugriff auf die Geoobjekte erlauben.

Python erfreut sich in letzter Zeit immer grösserer Beliebtheit und ist dabei, andere Sprachen wie VisualBasic, PHP und Perl zurückzudrängen. Python ist eine der von Google auch intern verwendeten Sprachen und ist wohl die jetzt schon die verbreitetste Skriptingsprache in GIS-Software (u.a.: ArcGIS, QGIS und FeatureServer aber auch GDAL/OGR, PostGIS und SpatiaLite).

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 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 modernster 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).

Programm (Entwurf)

Teil I / 1. Tag: Python kennen lernen

  • Überblick
  • Einführung in Python
  • Datentypen, Kontrollstrukturen/Iteratoren, Funktionen
  • 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
  • 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