GIS IQ Blog
  • Schule
  • Hochschule
  • Forschung
Kategorien
  • Forschung
  • Hochschule
  • Schule
Themen
ArcGIS Case Studies Digitale Bildung Dozierende eduGISchat Events GeoDev KarriereMitGIS Kartografie Lehrerhandreichungen Open Data Praktikum Projekte Ressourcen Schüler Smart Campus Smart Community Sommercamps Story Map Studierende Tutorial Unterricht Wettbewerb
  • Schule
  • Hochschule
  • Forschung
News
  • Forschung
  • Hochschule

Zugriff auf die Geodatabase in R mit arcgisbinding

  • 11. April 2016
  • Jan Wilkening
Total
12
Shares
12
0
0
0
0
0

Nachdem ich die R-ArcGIS Bridge in Grundzügen bereits auf GIS IQ und dem ArcGIS Blog vorgestellt habe, möchte ich nun zeigen, wie ihr nach der Installation von arcgisbinding konkret das Zusammenspiel zwischen R und ArcGIS herstellen könnt. Heute geht es zunächst um den Zugriff auf ArcGIS Daten in R.


Zugriff auf ArcGIS Daten in R: Das arcgisbinding-Package

Während Zugriff auf Austauschformate wie Shapefiles bereits mit anderen R-Packages (rgdal oder sp) möglich war, stellt das R-Package arcgisbinding sicher, dass R Lese-und Schreibzugriff auf native ArcGIS Datenformate wie Feature-Classes aus einer Geodatabase hat. Das Package ist hier ausführlich dokumentiert.

Wenn ihr das Package arcgisbinding in R mit library(arcgisbinding) geladen habt, sollte immer als nächstes arc.check_product() aufgerufen werden, um sicherzugehen, dass eine gültige ArcGIS for Desktop Installation auf dem Rechner vorliegt. Diese Funktion gibt die Installationsdetails von ArcGIS for Desktop zurück und stellt die Verbindung her:

rbridge0

Grundlegend zum Zugriff auf die Geodatabase sind nun die R-Funktionen arc.open, arc.select und arc.write. Ein klassischer Workflow in R kann wie folgt aussehen:
Mit arc.open wird in R die Verbindung zur Geodatabase hergestellt und eine Feature Class in R geladen. Dann wird die Feature Class mit arc.select in einen Data Frame (ein sehr gängiges, tabellenähnliches Format in R) geladen. In RStudio sieht ein Data Frame wie folgt aus (Anm.: Die Beispieldaten in diesem Blogpost stammen von der Education and Research Group von Esri Canada und liegen auf GitHub):

rbridge1

Auf Data Frames können zahlreiche Operationen aus anderen R-Packages ausgeführt werden, wie z.B. Analysen und Datenmanipulationen wie das Berechnen neuer Spalten mit statistischen Formeln mit dem Package  dplyr.

Weiterhin lassen sich Feature Classes in ein sp-Objekt (ein beliebtes R-Format für Punkte, Linien und Polygone) konvertieren (mit arc.data2sp) und andersherum (mit arc.sp2data). Der Vorteil der Konversion liegt auch hier darin, dass zum einen gewisse sp-spezifische Methoden auf Daten aus ArcGIS angewendet werden können (z.B. spplot, Ergebnis siehe unten), während sich zum anderen sp-Objekte in Feature Classes für die Verwendung in ArcGIS konvertieren lassen.

rbridge2

Koordinatentransformationen zwischen PROJ.4 (Standard bei R) und WKT (Standard bei ArcGIS) könnt ihr mit arc.fromP4ToWkt und der Umkehrfunktion arc.fromWktToP4 durchführen. Mit arc.write wird der Data Frame dann wieder als Feature Class in die Geodatabase zurück geschrieben und kann danach in ArcGIS for Desktop geöffnet und weiterverarbeitet werden.

rbridge3

Mehr Informationen zur Verwendung von arcgisbinding erhaltet ihr im Webinar von Esri Canada – die Folien gibt es hier, die Videos sind auf YouTube und der Code auf GitHub. Hier findet sich natürlich auch ein lauffähiges Beispiel mit R-Skripten und Beispieldaten.

Zusammenfassung und nächste Schritte

Das R-Package arcgisbinding bietet viele Möglichkeiten, Daten aus der Geodatabase in R zu laden, in einen Data Frame zu konvertieren und mit den mächtigen Analysewerkzeugen von R zu bearbeiten, und die Daten anschließend wieder die Geodatabase zu schreiben, um sie in ArcGIS for Desktop zu öffnen. Im nächsten Blogpost gehe ich auf den anderen Weg ein und werde die Frage beantworten: Wie lassen sich in ArcGIS for Desktop R-Skripte als Geoprocessing-Tools ausführen?

Jan Wilkening
Solution Engineer Education and Research

Total
12
Shares
Share 12
Tweet 0
Pin it 0
Jan Wilkening

Nachdem ich 2007 mein Geographie-Studium in Bonn mit einer der ersten Diplomarbeiten zum Thema Geomarketing abgeschlossen hatte, zog es mich an die Universität Zürich. Dort habe ich mich in meiner Dissertation mit kartenbasierten Entscheidungen unter Zeitdruck beschäftigt und Statistik- und GIS-Kurse geleitet. Ab 2012 arbeitete bei der Esri Deutschland GmbH als Solution Engineer. Seit meiner Berufung zum Professor für Geodatenanalyse an der Hochschule Würzburg-Schweinfurt im Jahr 2019 unterstütze ich nebenberuflich das Education Team von Esri.

Voriger Artikel
  • Hochschule

Der Young Scholar wird fliegen

  • 7. April 2016
  • Anna Lena Schwieger
Weiterlesen
Nächster Artikel
  • Hochschule

Leitfaden – Mobile GIS: Hardware, Software, IT-Sicherheit, Indoor-Positionierung

  • 3. Mai 2016
  • Jan Wilkening
Weiterlesen
Dir könnte auch gefallen
Weiterlesen
  • Hochschule

„Digital Twins“ und GIS in der Hochschullehre? Das sind die Gründe dafür!

  • Daniela Wingert
  • 10. Januar 2023
Weiterlesen
  • Hochschule

Wettbewerb: Esri Young Scholar Award 2023

  • Team Education
  • 10. Januar 2023
Weiterlesen
  • Hochschule

Praktikum bei Esri: Python und ArcGIS

  • Gastautor
  • 15. Dezember 2022
Weiterlesen
  • Forschung
  • Hochschule
  • Schule

Esri Konferenz Mediathek ist live!

  • Team Education
  • 9. Dezember 2022
Weiterlesen
  • Forschung
  • Hochschule

#KarrieremitGIS: Was einen Sales Engineer ausmacht!

  • Stefan Graf
  • 2. Dezember 2022
ArcGIS Pro Lektionen Beitrag
Weiterlesen
  • Hochschule

12 tolle Lektionen für den Umstieg auf ArcGIS Pro

  • Fabian von Bechen
  • 25. November 2022
Header des Blogbeitrags Fernerkundung im Unterricht
Weiterlesen
  • Hochschule
  • Schule

Fernerkundung im Unterricht – neues Material für Schulen

  • Klaus Nakel
  • 18. November 2022
Weiterlesen
  • Forschung
  • Hochschule

Imagery mit ArcGIS für Hochschulen

  • Fabian von Bechen
  • 9. November 2022
GIS IQ Blog
  • Über uns
  • Impressum
  • Datenschutz
Lernen. Forschen. Entwickeln. Mit GeoIntelligenz!

Gib dein Suchwort ein und drücke Enter.