In dieser 4-teiligen Serie zeigen wir Ihnen die Vorzüge sowie Tipps & Tricks rund um die Nutzung von ArcGIS Notebooks in ArcGIS Pro. Dieser Beitrag zum Thema Datenaufbereitung und Analyse beschreibt, wie Sie die Python Bibliotheken wie Pandas und den „Spatially Enabled Data Frame“ sowie ArcPy in diesem Kontext nutzen können.
In den beiden vorigen Blogeinträgen dieser Serie haben wir Ihnen bereits beschrieben, was ArcGIS Notebooks in der Plattform sind und wie man diese in ArcGIS Pro nutzen kann. Darauf aufbauend, möchte ich Ihnen in diesem Beitrag ein paar Beispiele vorstellen, wie wir ArcGIS Notebooks zur Datenintegration und Analyse in ArcGIS Pro nutzen können. Wie im ersten Eintrag bereits beschrieben sind die ArcGIS Notebooks so vielfältig einsetzbar wie ein Schweizer Taschenmesser und deshalb sind die nachfolgenden Beispiele nur ein winziger Auszug von dem, wofür Sie die ArcGIS Notebooks potentiell nutzen können.
Datenintegration mit Pandas
Die ArcGIS Notebooks bieten eine Schnittstelle zwischen der ArcGIS Plattform und dem Open Source Python Universum. So können beispielsweise über Python Bibliotheken wie Pandas, Datenquellen direkt und automatisiert in die ArcGIS Plattform integriert werden. Also Vorgänge, welche sonst manuelle Arbeitsschritte benötigen würden.
Pandas ist wohl eine der meistgenutzten Python Bibliotheken und hat leider nichts mit dem namensverwandten Pandabär zu tun. Vielmehr leitet sich der Name von dem ökonometrischen Begriff „Panel Data“ ab, was Pandas seiner Funktion zur Verarbeitung und Analyse tabellarischer Daten verdankt. Genug aber mit diesem kurzen Exkurs, wichtig ist hier festzuhalten, dass Pandas eine eigene Datenstruktur, so genannte Data Frames nutzt. Die Nutzung von Pandas Data Frames in Python ist sehr weit verbreitet und sie wurden als „Spatially Enabled Data Frames“ durch die ArcGIS API für Python mit GIS Funktionalitäten erweitert.

Dies bietet nun, neben der räumlichen Analyse und Visualisierung von Daten direkt im ArcGIS Notebook, auch die tolle Möglichkeit einer einfachen Integration verschiedenster Datenformate, so lange wir diese in einen Pandas Data Frame umwandeln können.
Ein einfaches Beispiel für die Integration von Daten ist das Lesen von Tabellen aus HTML-Websites. Während man im manuellen Workflow die Tabelle kopiert, in eine CSV speichert und so einen Layer in ArcGIS Pro erstellen kann, verfügt Pandas über eine „read_html“-Funktion, um eine solche Tabelle direkt als Data Frame auszulesen. Im folgenden animierten GIF sehen Sie, wie einfach wir auf diese Weise solche Inhalte, wie in diesem Fall die aktuellen Corona Fallzahlen, automatisiert in ArcGIS Pro integrieren können. Neben dem reinen Lesen der HTML-Tabelle, werden die Daten noch mit Geometrien der Bundesländer aus dem Living Atlas angereichert, bevor diese in Pro weiter genutzt werden können:

Datenaufbereitung, -analyse und -visualisierung mit dem Spatially Enabled Data Frame
Natürlich sind nicht alle Daten so sauber formatiert wie die Daten der Fallzahlen des Robert Koch Institutes. Ganz im Gegenteil, weswegen die Aufbereitung der Daten oft viel Zeit in Anspruch nehmen kann.
Auch hier können Python Bibliotheken wie Pandas bzw. der Spatially Enabled Data Frame helfen. Mit einfachen Ausdrücken können Sie Datensätze auf Null-Werte oder andere Bedingungen überprüfen, diese filtern oder Statistiken zu den einzelnen Attributen anzeigen lassen und so etwa Ausreißer bestimmen. Natürlich können Sie die Daten auch modifizieren, wie Sonderzeichen ersetzen oder ein Textfeld zu einem numerischen Feld umwandeln. Sie können Datensätze miteinander verbinden und durch den „Spatially Enabled Data Frame“ geht dies nicht nur auf Basis eines gemeinsamen Attributes (Tabellarischer Join), sondern auch auf Basis der räumlichen Beziehung der Datensätze zueinander (Räumlicher Join). So können Datensätze, die auf Basis Ihrer Attribute nichts miteinander verbindet, nun auf Basis ihres gemeinsamen Raumbezuges miteinander in Verbindung gebracht werden.
Zum Überprüfen der Zwischenergebnisse können diese auch direkt in einer Notebook Zelle als Tabelle angezeigt oder dank des Spatially Enabled Data Frames sogar auf einer Karte visualisiert werden. Dies ist nicht nur nützlich zur ersten visuellen Exploration der Daten, sondern kann auch wunderbar genutzt werden, um mit Hilfe der Notebooks Python Skripte zu präsentieren. So werden die eigentlich doch recht schwerverdaulichen Skripte, visuell ansprechender und können in Kombination mit Kommentaren, Überschriften und Bildern auch Personen präsentiert werden, die kein Python Code lesen können. Ein kurzes Beispiel aus dem schönen Köln, sehen Sie im folgenden Video:
Mehr Informationen und eine Einführung zu dem Spatially Enabled Data Frame finden Sie direkt im Guide der ArcGIS API für Python.
Analyse mit ArcPy
Neben der ArcGIS API for Python, welche primär zur Arbeit mit Ihrer GIS Plattform also ArcGIS Online oder ArcGIS Enterprise verwendet wird, können Sie in ArcGIS Pro natürlich auch noch auf die gesamte Funktionalität von ArcGIS Pro mit Python über ArcPy zugreifen.
In unserem vorigen Blogeintrag hat Ihnen mein Kollege Jochen Manegold bereits beschrieben, wie Sie mit Ihrem ersten Notebook in ArcGIS Pro starten können und ein paar nützliche Tipps gegeben, wie Sie mit ArcPy auf Inhalte in ArcGIS Pro zugreifen können. Mit ArcPy können Sie für Ihren Analyse-Workflow selbstverständlich auch sämtliche Geoverarbeitungs- Werkzeuge nutzen. Zum Umgang mit den Werkzeugparametern und der Ausgabe der Geoverarbeitungs-Werkzeuge, sowie weitere nützliche Informationen, finden Sie in der Online Hilfe zu Python und Geoverarbeitung.
Das Schöne an der Nutzung von Python in den ArcGIS Notebooks ist: Sie können nun auf einfache Weise ArcPy mit der ArcGIS API for Python und weiteren Bibliotheken aus der OpenSource Python Welt für Ihre Analyse- Workflows miteinander kombinieren.
Im nächsten Teil dieser Serie zeigt Ihnen mein Kollege Ralf Schüpferling ein passendes Beispiel zum Thema „Bildanalyse mit Notebooks in ArcGIS Pro“. Bis dahin viel Spaß beim Skripten und Entdecken der vielfältigen Möglichkeiten der ArcGIS Notebooks in ArcGIS Pro.
Teil 1: ArcGIS Notebooks in der Plattform – Das Schweizer Taschenmesser fürs GIS