Geoprozessierung mit Python

Dieses Modul soll eine Einführung zur Erstellung von kleinen Programmen (Tools oder Scripts) zur Geoprozessierung mit der open-source Scriptsprache Python in ArcGIS Pro geben. Sie erhalten eine Einführung zur Programmierung mit Python (wichtige Syntax, Erweiterungsmöglichkeiten etc.). Behandelt wird sowohl das Geoprozessierungsmodell in ArcGIS Pro als auch die Erzeugung und Modifizierung und Anwendung von Geoprozessierungs-Scripts mit Python. Die Erstellung von Geoprozessierungs-Tools in ArcGIS Pro und das praktische Kennenlernen der Möglichkeiten mit Python in ArcGIS Pro soll dazu beitragen Python in Ihrem alltäglichen Arbeitsumfeld gewinnbringend einzusetzen.

Kurzpräsentation durch die Modulbetreuerin (Webinarmitschnitt):

  • Einführung in die open-source Programmier-/Scriptsprache Python
  • Grundlagen zur Programmierung mit Python (wichtige Syntax, Erweiterungsmöglichkeiten)
  • Klassen und Funktionen aus ArcPy verwenden
  • Erzeugung, Modifizierung und Anwendung von Geoprozessierungs-Scripts mit Python
  • Erstellung von Geoprozessierungs-Tools in ArcGIS Pro
  • Erweiterte Möglichkeiten mit Python in ArcGIS Pro

Für die Ausarbeitung dieses Moduls werden folgende Fertigkeiten vorausgesetzt:

  • Gute Kenntnisse in der Benutzung von ArcGIS Pro
  • Für Studierende die keine praktische Erfahrung mit ArcGIS haben, ist dieses Modul nicht geeignet!

Software-Voraussetzungen:

  • ArcGIS Pro (ab Version 3)
  • Python Editor wie z.B. Pyzo (Link zum Download im Modul verfügbar)

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 ab Version 3

Zur Leistungsfeststellung sind modulbezogene Aufgaben zu lösen und über die Lernplattform einzureichen. Neben den Aufgaben gibt es Übungen, die in unterschiedlichem Maße auf die Erfüllung eines Aufgabenziels vorbereiten und zum besseren Gesamtverständnis des Stoffes beitragen. Sie bilden eine optionale Lernkomponente und werden von dem Lehrbeauftragten bei der Gesamtbewertung nicht berücksichtigt.

Lektion 1: Einführung

Diese Lektion soll Ihnen einen ersten Überblick über dieses UNIGIS Modul liefern. Sie werden einen ersten Einblick in die Verwendung von Script- bzw. Programmiersprachen in ArcGIS Pro bekommen und welche Funktionalitäten ArcGIS hierzu zur Verfügung stellt. Eine gesonderte Betrachtung kommt der open-source Scriptsprache Python zu, um deren Integration in ArcGIS es in diesem Modul gehen soll.

Lektion 2: Grundlagen der Scriptsprache Python – Teil I

In dieser Lektion wird Ihnen ein erster Überblick über die Scriptsprache Python vermittelt. Es werden die Grundlagen erläutert, die Sie benötigen um Python Scripts zu verstehen, zu modifizieren und auch selbst zu schreiben.

Lektion 3: Grundlagen der Scriptsprache Python – Teil II

In dieser Lektion werden  Ihnen erweiterte Grundlagen zur Arbeit mit Python näher gebracht. Wichtig sind insbesondere das Verständnis von grundlegenden Prozessen, die in jeder Programmiersprache möglich und unentbehrlich sind, insbesondere Verzweigungen (Branching) und Schleifen (Looping).

Lektion 4: Geoprozessierung und Python – Zugriff auf ArcGIS Funktionalitäten

In dieser Lektion soll die Verbindung zwischen ArcGIS Pro und Python beleuchtet werden. Unter anderem lernen Sie den Zugriff auf das zentrale ArcGIS site-package für Python kennen. Ausgehend von dieser Verbindung können Sie auf fast alle Geoprozessierungswerkzeuge in ArcGIS Pro mit Python zugreifen.

Lektion 5: Zugriff auf ArcGIS Geoprozessierungswerkzeuge

Kernstück der Geoprozessierung sind die Werkzeuge/Tools der ArcToolbox in ArcGIS, die in dieser Lektion beleuchtet werden. Mittels Python haben Sie kompletten Zugriff auf alle diese Tools, die dynamisch über die Geoprozessierungsschnittstelle zur Verfügung stehen.

Lektion 6: Scripts als Tools in ArcGIS einbinden (Script-Tools)

Für eine häufige und komfortable Nutzung von Geoprozessierungs-Scripts (zum Beispiel auch für die Weitergabe an Nicht-Programmierer) macht es Sinn, diese so dynamisch zu gestalten, dass Pfadnamen und Ein-/ Ausgabedateien dynamisch und komfortabel eingegeben werden können (inkl. GUI zu erleichterten Eingabe). Dies wird erreicht, in dem das Script in ArcGIS in der Toolbox als Script-Tool eingebunden wird.

Lektion 7: ArcPy – weitere Funktionen und Klassen, Teil I

Betrachtung von ArcPy-Klassen und -Objekt mit zusätzlichen Eigenschaften und Funktionen.

Lektion 8: ArcPy – weitere Funktionen und Klassen, Teil II

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 zirkulieren, die Werte in der Tabelle ändern, neue Zeilen einfügen oder löschen können.

Lektion 9: Räumliche Abfragen mit ArcPy

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 10: Zusatzmodule in ArcPy: Das Mapping-Modul

In dieser Lektion sollen weitere ArcPy-Neuerungen (Zusatzmodule und ihre Verwendung) anhand des Mapping-Moduls gezeigt werden (Python Nutzung jenseits der reinen Geoprozessierung)

Lektion 11: Python Code direkt in Modellen und Tools einsetzen

Ein Teil der Lektion widmet sich wiederum fortgeschrittenen Methoden in Python, es geht um die Erstellung von Funktionen. Dies ist auch eine der Grundlagen für den zweiten Lektionsteil zur direkten Verwendung von Python-Code in ArcGIS Tools.

Lektion 12: Zusatzmodule in ArcPy: Das Spatial-Analyst-Modul

In dieser Lektion wird Ihnen ein weiteres ArcPy-Modul, das Spatial-Analyst-Modul, vorgestellt. Diese Lektion ist optional, d.h. es gibt dazu keine Aufgabe die absolviert werden müsste um das Modul zu bestehen. Dies liegt daran, dass das Spatial-Analyst-Modul nur bei vorhandener Spatial-Analyst-Extension anwendbar ist. Die angeschlossene Übung erfordert aber dann zur Durchführung eine funktionsfähige (=lizensierte) Spatial-Analyst-Extension.

Lektion 13: Python Toolbox in ArcGIS Pro

In dieser Lektion werden die Möglichkeit der rein Python-basierten “Python Toolbox” nähergebracht.