Skip navigation
All Places > GeoDev Germany > Blog > Authors j.wilkeningesri-de-esridist

[Original erschienen auf GIS IQ]

Seit rund einem Jahr gibt es die ArcGIS API for Python zum Skripting fürs Web-GIS (ArcGIS Online und Portal for ArcGIS). In der aktuellen Version 1.2.4 ist die API um zahlreiche Funktionen erweitert worden. Einen Überblick über alle Module gibt es auf der Dokumentationsseite.

Zahlreiche neue Beispiele für räumliche Analysen mit Python

Seit meinem letzten Blogpost sind die Beispiele für GIS Analysten und Data Scientists deutlich mehr geworden. Mittlerweile gibt es Jupyter Notebooks zur Analyse von Feature-Erkennung aus Satellitendaten (siehe Abbildungen unten), Fahrzeitpolygonen, Kostenoberflächen aus Höhenmodellen oder der Suche nach dem nächsten Krankenhaus.

 

Diese Beispiele sind sehr gut geeignet, GIS-Studierenden einen leichten Einstieg in die umfangreichen Skripting-Möglichkeiten von Python zu bieten. Das ist insofern besonders interessant, als Python-Kenntnisse auf dem Arbeitsmarkt immer stärker als Skill nachgefragt werden.

Funktionalität für Administratoren: Zuweisung von ArcGIS Pro Lizenzen, Zugang zum Trainingsportal und Löschen inaktiver Nutzer

Neu ab der API-Version 1.2 ist die Funktionalität, mit dem Submodul arcgis.gis.admin auch zahlreiche administrative Aufgaben zu skripten – wie beispielsweise die Lizenzvergabe für ArcGIS Pro und andere Produkte. Die Lizenzvergabe war bislang nur über die Benutzeroberfläche (GUI) von ArcGIS Online oder Portal for ArcGIS möglich.So kann über den folgenden Codeblock beispielsweise allen Named Usern einer Subskription, die noch keine Lizenz haben, eine ArcGIS Pro Advanced Lizenz über ein paar Zeilen Python-Code zugewiesen werden:

 

Die verfügbaren Lizenzen für die Lizenzstufen und Erweiterungen lassen sich wie folgt aufrufen:

Genauso können nicht mehr aktive User über die Angabe eines gewissen zeitlichen Schwellenwerts aus der Subskription gelöscht werden.

Der Zugang zu My Esri und damit zum Trainingsportal kann mit den Skripten auf ArcGIS Online allen Mitgliedern zugewiesen werden. Auch hier ist die Idee, dass in dem Python-Skript lediglich Administrator-Benutzername und Passwort eingegeben werden müssen, damit man sich zu seinem jeweiligen Portal verbinden kann.

Wir arbeiten derzeit an Beispielskripten für Administratoren, die wir gerne zur Verfügung stellen! Bei Interesse können Sie uns gerne eine E-Mail schreiben und wir halten Sie auf dem Laufenden.

Jan Wilkening
Solution Engineer Education and Science

(Original veröffentlicht auf GIS IQ am 17. Juli 2017)

 

Am 12. Juli fand an der Hochschule Bochum der erste vom Team Bildung, Wissenschaft und Forschung organisierte Hack Day statt. 13 Studierende der Geoinformatik stellten sich der Herausforderung und kamen in wenigen Stunden zu beeindruckenden Ergebnissen.

Die Vorteile von Hack Days

Bei Hack Days (oder Hackathons, wenn die Veranstaltung über eine Nacht dauert) geht es darum, explorativ, selbständig und kreativ Problemlösungen mit einem gegebenen Datensatz zu entwickeln. Wir organisieren Hack Days, weil wir glauben, dass der Umgang mit Software und Programmiersprachen so deutlich besser erlernt wird als mit Klickanleitungen, die oft wenig zum Reflektieren animieren.

Der Ablauf in Bochum

Am Morgen stellte Prof. Andreas Wytzisk den Ablauf und Prof. Ulrike Klein die Daten vor: Es handelte sich um mit Survey123 erfasste Empfindungen von Angsträumen in der Stadt Bochum.

Anschließend führten wir kurz in die ArcGIS Plattform ein: ArcMap und ArcGIS Pro mit ModelBuilder und ArcPy als Desktop-GIS, verschiedene APIs und SKDs (Java Script, Python, Android), sowie Web AppBuilder und Story Maps als Webanwendungen zur Präsentation der Ergebnisse.

Nach diesem Einstieg erstellten die Studierenden in Kleingruppen von 2-3 Personen selbständig Lösungen, wobei die ArcGIS Plattform in ihrer ganzen Bandbreite von der mobilen App übers Desktop-GIS bis zur Webanwendung zum Einsatz kam. Wir standen dabei für Fragen jederzeit zur Verfügung.

Die Sieger

Um 16.00 standen die Präsentationen (neudeutsch Project Pitches) an, und die ersten drei Plätze gingen an:

Platz 1: Max Zysk und Kevin Mönter: „Secure Routing“ - Entwicklung eines Routings, das die Angst minimiert, erstellt mit der Desktop-Erweiterung Network Analyst

Platz 2: Verena Kirstein und Christian Danowski: „Erreichbarkeitsanalyse zwischen Polizeistationen und Angsträumen mit kriminellen Hintergründen“

Platz 3: Kevin Sommer, Sebastian Drost und Felix Pletziger: „TrackMyFear“, eine mobile Android-App, erstellt mit dem ArcGIS Runtime SDK for Android

Fazit

Den Teilnehmern und uns hat der erste Esri Hack Day an einer Hochschule viel Spaß gemacht und wir hoffen, dass weitere in Bochum und an anderen Hochschulen folgen. Wenn ihr interessiert seid, zusammen mit uns einen Hack Day an eurer Hochschule zu organisieren, schreibt uns an education@esri.de !

Jan Wilkening und Michael Marz
Solution Engineers Education and Science

(Original veröffentlicht auf GIS IQ am 24.4.2017)

Python ist die Skriptsprache für ArcGIS. Bislang stand beim Zusammenspiel zwischen Python und ArcGIS das Skripting für ArcGIS Desktop mit dem Site-Package ArcPy im Vordergrund. Python galt dabei häufig als Skript-Alternative zur grafischen Oberfläche von ModelBuilder.

Über den Einsatz von ArcPy in der Lehre hat auf GIS IQ im Januar Andreas Richter von der Beuth Hochschule in einem Blogpost berichtet. Heute möchte ich vorstellen, wie man mit Python in der ArcGIS Plattform auch das Web-GIS skripten kann.

Mit der ArcGIS API for Python das Web-GIS skripten

Eine der wichtigsten Neuerungen der ArcGIS Plattform in diesem Jahr betrifft die ArcGIS API for Python. Im Gegensatz zu ArcPy für Desktop-GIS geht es bei der ArcGIS API for Python darum, ein Web-GIS zu skripten. In der Terminologie der ArcGIS Plattform bedeutet Web-GIS entweder ArcGIS Online oder ArcGIS Enterprise mit Portal for ArcGIS.

In den letzten Monaten sind umfangreiche Ressourcen entstanden, die den Einstieg in die ArcGIS API for Python erleichtern. Diese Ressourcen richten sich an verschiedene Zielgruppen: Entwickler, Administratoren einer ArcGIS Online Subskription, GIS-Analysten und Data Scientists, sowie Nutzer, die Content veröffentlichen wollen. Für diese unterschiedlichen Zielgruppen gibt es frei verfügbare Sample Notebooks für den Webbrowser.

Wie funktioniert ein Notebook?

Schauen wir uns mal unter den Notebooks für GIS Analysts and Data Scientists das Notebook Chennai Floods Analysis näher an. Wir erhalten lauffähigen Python-Code, den wir im Webbrowser editieren und ausführen könnten.

Dahinter steckt die Technologie von Jupyter Notebooks, die sich in den letzten Jahren als grafische Benutzeroberfläche immer größerer Beliebtheit erfreut – nicht nur für Python, sondern z.B. auch für R, Haskell, Julia und Spark. Dank Jupyter Notebooks ist der Einstieg in Skriptsprachen wie Python allgemein deutlich vereinfacht worden.

Im Beispiel zur Flut in Chennai wird zunächst in [2] das Modul arcgis.gis zum Skripten des Web-GIS geladen. In [3] wird das GIS definiert – in diesem Fall ist es www.arcgis.com, also ArcGIS Online; und durch Übergabe von Benutzername und Passwort erfolgt hier ein Login. In [4] wird eine interaktive Webkarte geladen, die auf Chennai zentriert ist und Zoomstufe 8 hat. Der Benutzer kann hier auch andere Parameter definieren und live im Browser ausführen, ohne dass dafür irgendeine Software installiert werden muss – ähnlich wie in der ArcGIS API for JavaScript Sandbox.

Es lohnt sich, das Beispiel weiter durchzuklicken: Mithilfe der Python-API werden anhand von ArcGIS Online Webdiensten Regenfälle interpoliert (siehe unten), Puffer um Flussläufe gebildet, Routen berechnet … das, was vorher nur über die grafische Benutzeroberfläche mit Klicks in ArcGIS Online möglich war. Das Schöne ist, dass man sofort das Ergebnis unter dem Code im Webbrowser erhält.

ArcGIS Online Analyse-Tools in Jupyter Notebooks

Ausblick

Die ArcGIS API for Python ist dafür da, Arbeitsabläufe im Web-GIS zu skripten. Das ist für verschiedene Zielgruppen interessant – nicht nur für GIS-Nutzer, sondern auch für Administratoren: Die Benutzerverwaltung lässt sich mit der API deutlich vereinfachen, da wichtige Funktionen von PortalPy integriert worden sind.

Auf notebooks.esri.com gibt es zahlreiche Beispiel-Notebooks (.ipynb-Dateien), die sofort lauffähig sind, editiert und heruntergeladen werden können. Somit ist ein einfacher Einstieg in Python im Webbrowser mit frei verfügbarem Quellcode gewährleistet.

ArcPy wird durch die ArcGIS API for Python nicht obsolet – ArcPy bleibt das Site-Package für das Skripting von ArcGIS Desktop (mit ArcMap und ArcGIS Pro), während sich die Python-API an Anwender von ArcGIS Online und Portal for ArcGIS richtet.

Schaut euch hierzu auch die Videoaufzeichung zum Webinar unseres Entwickler-Teams an !

Jan Wilkening
Solution Engineer Education and Research, Esri Deutschland 

Filter Blog

By date: By tag: