conference logo

Playlist "FOSSGIS 2017"

Shine on R

Stefan Küthe

R wurde vor einigen Dekaden von Statistikern entwickelt, um in erster Linie statistische Fragestellungen zu bearbeiten bzw. zu lösen. Dabei ist R nicht nur ein „Statistik-Werkzeug“, sondern eine flexible und mächtige Programmiersprache, die auf allen gängigen Betriebssystemen (Unix, OSX, Windows) verfügbar ist und durch eine stetig wachsende Anzahl von Paketen aus allen Bereichen erweitert werden kann. Diese werden in der Regel über das Comprehensive R Archive Network (CRAN) zur Verfügung gestellt. So gibt es auch eine Vielzahl von Paketen, um räumliche Daten in R zu lesen, zu analysieren, zu manipulieren, zu visualisieren und zu schreiben. Durch die Pakete rgdal und das sich in aktiver Entwicklung befindende sf kann R alle von GDAL unterstützen Formate lesen und schreiben und bietet darüber hinaus R-Datenstrukturen an, die ein R-typisches und flexibles Datahandling ermöglichen. Auch können R-Skripte direkt (analog zu Python) in QGIS eingebunden werden, so dass in QGIS auf die statistischen Algorithmen von R zugegriffen werden kann.

Vor allen in den letzten Jahren wurde R um viele „Features“ bzw. Pakete erweitert, die zum einen die Arbeit mit R erleichtern und zum anderen die Möglichkeit bieten in wenigen Zeilen Code flexible Web-Apps (R-Paket shiny) zu implementieren und zu hosten (Shiny Server). Durch das R-Paket leaflet lassen sich so auf einfache Weise interaktive Karten basierend auf dem Leaflet-Javascript-Framework erzeugen. Darüber hinaus können die interaktiven Karten auch direkt in der Open-Source-Entwicklungsumgebung RStudio angezeigt werden und sowohl RStudio als auch der Shiny Server können problemlos in Docker-Containern betrieben werden, sodass z.B. auch ein „R-Spatial-Data-Processing“-Container inklusive Entwicklungsumgebung „gebaut“ werden kann.

Übersicht gängiger R-Packages zur Spatialdatenverarbeitung und -visualisierung, die in dem Vortrag besprochen werden:
• sf
• sp
• rgdal
• raster
• rgeos
• maptools
• gdalUtils
• rmapshaper
• spatstat
• rqgis
• leaflet
• osrm
• lawn (R meets turf.js)