workshop: Erste Schritte mit geometrischen Objekten in Python

Mit Shapely, Fiona, rtree in Jupyter Notebook von Null zum Aha!

Event large

Im Rahmen des Workshops wird ein kleines, aber komplexes GIS-Projekt von Anfang bis Ende in Python durchgearbeitet, etwa die Implementation eines Algorithmus oder eine GIS-Analyse. Besonderes Augenmerk liegt auf der Nachvollziehbarkeit des entstehenden Programmcodes. Auch die Performanz wird kritisch berücksichtigt und evaluiert.

Neben Shapely werden Fiona (~=GDAL) für das Einlesen und Schreiben von Geodaten und rtree für die Beschleunigung durch räumlichen Indexe benutzt. Als Entwicklungsumgebung sowie zur Visualisierung dient Jupyter Notebook.

Während die Funktionen eines Desktop-GIS zumeist auf gesamte Layer bzw. eine Auswahl von Geo-Objekten beschränkt sind, gibt es bei der Prozessierung von Geodaten mit eigenem Programmcode keine solchen Limitationen. Auch Reproduzierbarkeit und Dokumentation sind damit meist viel einfacher umsetzbar.

Python hat sich in den letzten Jahren in großen Bereichen des Geo*-Sektors zu einer Art Standardsprache entwickelt. Sowohl für Skripte der Endnutzer von GIS etwa in QGIS oder ArcGIS, als auch - dank einer umfangreichen und qualitativ hochwertigen Bibliothek freier Pakete - als wunderbar geeignete Sprache für "standalone" Projekte.

In diesem Workshop wird die Verwendung des Shapely-Pakets erlernt, welches sich dank seines GEOS-Unterbaus und der (relativ) konsequenten Verwendung der entsprechenden Simple Features-API als idealer, zukunftssicherer Einstieg eignet.

Im Rahmen des Workshops wird ein kleines, aber komplexes Projekt von Anfang bis Ende durchgearbeitet, etwa die Implementation eines Algorithmus oder eine GIS-Analyse. Besonderes Augenmerk liegt auf der Nachvollziehbarkeit des entstehenden Programmcodes. Auch die Performanz wird kritisch berücksichtigt und evaluiert.

Neben Shapely werden Fiona (~=GDAL) für das Einlesen und Schreiben von Geodaten und rtree für die Beschleunigung durch räumlichen Indexe benutzt. Als Entwicklungsumgebung sowie zur Visualisierung dient Jupyter Notebook. Performanzprobleme werden bei Bedarf mit einem Profiler erörtert bzw. für kleinere Codeschnipsel auch direkt mit Jupyter-Bordmitteln.

Da Python gut lesbar ist, sollten auch komplette Neueinsteiger gut mitkommen können. Wer allerdings noch nie irgendwie programmiert hat, dürfte schnell abgehängt sein. Wie eine Funktion funktioniert (Argumente, Rückgabe) oder was eine Methode ist, sollte klar sein.

Info

Day: 2018-03-21
Start time: 15:00
Duration: 01:30
Room: Gislabor - Kartographie
Track: Workshop (bezahlt)

Links:

Concurrent Events