R ist die am schnellsten wachsende Programmiersprache für statistisches Rechnen. Insbesondere unter Naturwissenschaftlern und unter Statistikern findet R weite Verbreitung. Durch die Verbindung von R und ArcGIS ergeben sich vielfältige Möglichkeiten: Zum einen könnt ihr aus R direkt auf eure GIS-Daten zugreifen. Zum anderen könnt ihr in ArcGIS in Geoverarbeitungswerkzeugen direkt R-Skripte aufrufen.
Auf der Esri UC2015 wurde die Initiative für die Verbindung zwischen R und ArcGIS offiziell vorgestellt. Ziel ist es, eine Community aufzubauen, die allen Benutzern R-Skripte, Geoverarbeitungswerkzeuge und Tutorials zur Verfügung stellt. Die Startseite findet ihr unter https://github.com/R-ArcGIS.
Herstellen der R ArcGIS Bridge
Wer die Brücke herstellen möchte, braucht neben aktuellen Versionen von R (ab Version 3.1.3, Download unter https://www.r-project.org/ ) und ArcGIS for Desktop (entweder ArcGIS Pro 1.1 oder ArcMap 10.3.1) zunächst das Open-Source-R-Package arcgisbinding von GitHub.
Mit einem zweizeiligen R-Skript kann dann die Verbindung zwischen beiden Programmen hergestellt werden, wie in diesem Video gezeigt. Zu beachten ist, dass dieses Skript für ArcGIS Pro in der 64-Bit-Version von R und für ArcMap in der 32-Bit-Version ausgeführt werden muss – entsprechend der Architekturen von ArcGIS Pro bzw. ArcMap.
Danach kann die Verbindung in den ArcGIS Produkten direkt getestet werden, und zwar über Python-Toolboxes, die ihr ebenfalls auf GitHub findet. Wichtig ist hierbei, dass das entsprechende Programm (ArcMap bzw. ArcGIS Pro) als Administrator ausgeführt wird!
Außerdem muss sichergestellt sein, dass der Ordner arcgisbinding in folgende Ordner eingetragen ist: C:\Program Files (x86)\ArcGIS\Desktop10.3\Rintegration sowie in C:\Program Files\R\R-3.2.0\library. Falls dies bei der Installation nicht automatisch erfolgt ist, sollte der Ordner arcgisbinding am besten noch manuell in die beiden Verzeichnisse kopiert werden.
Beispielwerkzeug: Modellbasiertes Clustering
Ist die Brücke erfolgreich aufgebaut, könnt ihr die ersten R-Skripte mit GIS-Funktionalität testen. Hierzu dienen die R Sample Tools auf GitHub. Ihr findet hier einen Ordner zum Download, der ein ArcMap Dokument und ein ArcGIS Pro Projekt mit Beispieldaten (Fichten im Bayerischen Wald) und einer Toolbox enthält.
In der Toolbox wurde eine modellbasierte Cluster-Analyse in R implementiert und schließlich als Werkzeug in ein Geoverarbeitungs-Modell integriert, so wie ihr das vielleicht von einzelnen Python-Skripten oder Systemwerkzeugen kennt – siehe Abbildung unten.
Für den Cluster-Algorithmus wird das R-Package „mclust“ von der University of Washington verwendet. Hier werden anhand eines Bayesschen Informationskriteriums plausible räumliche Cluster für Eingabedaten berechnet. Optional erzeugt das Modell außerdem Ellipsen für die Standardabweichung, Thiessen-Polygone, ein Dichteraster und neue simulierte Punkte. Das ganze könnte dann so aussehen wie im Bild unten, wo nach Durchlaufen des Modells in ArcMap vier Cluster entstanden sind.
Eine detaillierte Dokumentation findet ihr hier. . Das Skript und das Modell könnt ihr aber natürlich auch auf eure eigenen Daten anwenden. Schaut euch für einen weiteren Anwendungsfall auch das Video von der UC an, in dem Steve Kopp von Esri Inc. ein Beispiel zur Wasserqualität zeigt .
Ausblick
Die Initiative zur R ArcGIS Bridge zeigt, dass die ArcGIS Plattform eine offene Plattform ist, in der Schnittstellen und Verbindungen zu immer mehr anderen Technologien möglich sind.
Wir sind gespannt auf euer Feedback und intelligente Anwendungen mit R und ArcGIS!
Jan Wilkening
Consultant Education & Research