Geoprozessierung in ArcGIS Pro mit Python

Möchten Sie wiederkehrende GIS-Aufgaben automatisieren und ArcGIS Pro individuell erweitern? Dieses Modul führt Sie praxisnah in die Programmierung mit Python in Kombination mit ArcGIS Pro (mithilfe des site-packages ArcPy) ein. Sie lernen, Scripte zu schreiben, bestehende Workflows zu optimieren und eigene Geoprozessierungs-Werkzeuge zu entwickeln. Das Ziel dieses Moduls ist es, Ihnen das Rüstzeug zu geben, um Python gewinnbringend in Ihrem täglichen Arbeitsumfeld einzusetzen, sofern Sie mit ArcGIS Pro arbeiten.

Das Modul vermittelt fortgeschrittene Techniken zur Automatisierung von GIS-Prozessen in ArcGIS Pro mittels Python (ArcPy). Die Schwerpunkte liegen auf:

  • Einrichtung einer professionellen Entwicklungsumgebung (IDE)
  • Verwendung der ArcPy-Klassen und -Funktionen für Geoprozessierung
  • Systematisches Datenmanagement (Batch-Processing, Listen, Describe-Objekte)
  • Direkter Datenzugriff und -manipulation mittels Cursors (Data Access Modul)
  • Fortgeschrittene Geometrie-Operationen im Arbeitsspeicher
  • Kartographische Automatisierung und Projektmanagement (arcpy.mp)
  • Raster-Analysen mit Spatial Analyst und NumPy
  • Erstellung eigener, dynamischer Skript-Tools für die Toolbox

Für die erfolgreiche Absolvierung dieses Moduls werden folgende Fertigkeiten vorausgesetzt:

  • Fundierte Anwenderkenntnisse in ArcGIS Pro (Umgang mit Geodatenbanken, Tools, Layern).
  • Grundlegende Python-Kenntnisse (Variablen, Datentypen, Schleifen, Bedingungen). Es wird dringend empfohlen, zuvor das Modul “Grundlagen der Anwendungsentwicklung” zu absolvieren oder vergleichbares Wissen mitzubringen.

Die Absolvierung des Moduls erfolgt im Modus eines betreuten Selbststudiums auf der Basis eines angeleiteten, explorativen Lernprozesses. Theoretische Konzepte werden durch praxisnahe Übungsteile und multimediale Elemente ergänzt und veranschaulicht. Durch den Einsatz eines Diskussionsforums bleiben die Studierenden sowohl untereinander als auch mit dem Lehrbeauftragten in ständigem Kontakt . Nach Abschluss des Moduls ist eine Evaluierung durch die Studierenden vorgesehen, welche der ständigen Qualitätskontrolle dient.

  • ArcGIS Pro (aktuellste verfügbare Version empfohlen)
  • Eine Python-Entwicklungsumgebung (IDE), z. B. Pyzo (wird im Kurs verwendet)

Zur Leistungsfeststellung sind modulbezogene Aufgaben zu lösen und einzureichen.
Die Aufgaben werden in einem mündlichen Abgabegespräch besprochen. Ziel ist es sicherzustellen, dass der Code vollständig verstanden und durchdrungen wurde. Besonderer Wert wird auf die Dokumentation des Code-Testings gelegt. Optionale Übungen dienen der Vorbereitung, fließen aber nicht in die Benotung ein.

Lektion 1: Einführung & Setup

Der Einstieg in die Automatisierung. Sie lernen den Unterschied zwischen ModelBuilder und Python-Skripting kennen, richten Ihre Entwicklungsumgebung (z. B. Pyzo) ein und konfigurieren die Verbindung zu ArcGIS Pro.

Lektion 2: Die ArcPy-Umgebung & Basis-Workflows

In dieser Lektion lernen Sie die fundamentalen Konzepte für die Arbeit mit ArcPy kennen. Sie importieren das ArcPy-Paket, setzen Environment Settings (Workspace, OverwriteOutput) und führen Ihr erstes Geoprozessierungs-Tool aus.

Lektion 3: Datenexploration & Listen-Management

Bevor Daten verarbeitet werden, müssen sie oft inventarisiert werden. In dieser Lektion lernen Sie, wie Sie Geodatenbanken systematisch durchsuchen (ListFeatureClasses, ListRasters) und Dateneigenschaften mittels Describe-Objekten abfragen. Sie lernen, Koordinatensysteme, Geometrietypen und Feldtypen programmatisch auszulesen und Scripts zu schreiben, die viele Datensätze automatisch verarbeiten (Batch-Processing).

Lektion 4: Direkter Datenzugriff mit Cursors

In dieser Lektion werden weitere aus Klassen abgeleitete Objekte vorgestellt. Besonderen Augenmerk erhalten hierbei die Cursor-Objekte: Objekte für den direkten Datenzugriff, mittels denen Sie durch die Zeilen einer Tabelle iterieren, die Werte in der Tabelle ändern, neue Zeilen einfügen oder löschen können.

Lektion 5: Räumliche Abfragen & Geometrie-Operationen

Mit ArcPy wurden die den Objekten zugrunde liegenden Klassen um räumliche Operatoren und weitere Klassen (Polygon, Polyline, Multipoint) erweitert. Damit wird die Python-Funktionalität in ArcGIS nochmals stark erweitert. Ganz neue Möglichkeiten für räumliche Abfragen – abseits von Standardtools – stehen damit zur Verfügung.

Lektion 6: Kartographische Automatisierung (arcpy.mp) – optional

Sie lernen den Zugriff auf ArcGIS Pro Projekte (.aprx), Layouts, Maps und Layer. Ziel ist es, den Export von Karten (PDF/JPG) oder das Austauschen von Datenquellen in bestehenden Projekten zu automatisieren.

Lektion 7: Raster-Verarbeitung (Spatial Analyst) – optional

In dieser Lektion wird Ihnen ein weiteres ArcPy-Modul, das Spatial-Analyst-Modul, vorgestellt. Fokus liegt auf den Umgang mit Raster-Objekten, die temporär im Speicher gehalten werden können, ohne jedes Zwischenergebnis auf die Festplatte zu schreiben.

Lektion 8: Skript-Tools & Toolbox-Integration

Der Schritt vom reinen Code zum nutzbaren Werkzeug. Wie binde ich ein Python-Script in eine ArcGIS Pro Toolbox (.atbx) ein? Sie lernen die Behandlung von Parametern (GetParameterAsText), damit Nutzer:innen Inputs über die GUI wählen können, und die Kommunikation zurück an die Oberfläche (AddMessage, AddWarning).