räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren Spezialisierung auf bestimmte geographische Bereiche 4 / 36
räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren Spezialisierung auf bestimmte geographische Bereiche Verfügbarkeit/Nutzerfreundlichkeit Nicht alle haben ein (nutzerfreundliches) Graphical User Interface (GUI) 4 / 36
räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren Spezialisierung auf bestimmte geographische Bereiche Verfügbarkeit/Nutzerfreundlichkeit Nicht alle haben ein (nutzerfreundliches) Graphical User Interface (GUI) Unterschiedliche Dateiformate 4 / 36
räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren Spezialisierung auf bestimmte geographische Bereiche Verfügbarkeit/Nutzerfreundlichkeit Nicht alle haben ein (nutzerfreundliches) Graphical User Interface (GUI) Unterschiedliche Dateiformate Plattformabhängig (Windows <-> Unix) 4 / 36
Umgebung Warum in R? Nutzerfreundliche Programmiersprache Starke Community vorhanden bei Problemen (Mailinglisten, Stackoverflow) Integration der Stärken von R Statistische Auswertung Reproduzierbare Analysen ('literate programming' -> Rmarkdown ) R als starkes 'eigenständiges' GIS 5 / 36
project.org/web/views/Spatial.html) Paket rgdal als 'Motor' zum importieren und exportieren von Geodaten http://r-spatial.org//2016/11/29/openeo.html 7 / 36
Van Rijn, R.P.G. (1993)1 R als GIS [1] Rikken et al. (1993): Soil pollution with heavy metals - an inquiry into spatial variation, cost of mapping and the risk evaluation of copper, cadmium, lead and zinc in the floodplains of the meuse west of stein. Dept. of Physical Geography, Utrecht University 8 / 36
Van Rijn, R.P.G. (1993)1 Package raster for raster data http://www.worldclim.org/ R als GIS [1] Rikken et al. (1993): Soil pollution with heavy metals - an inquiry into spatial variation, cost of mapping and the risk evaluation of copper, cadmium, lead and zinc in the floodplains of the meuse west of stein. Dept. of Physical Geography, Utrecht University 8 / 36
Analyse, Manipulation, Speicherung und Visualisierung geopraphischer Daten definiert1, so könnte man sagen, dass R bereits ein vollwertiges GIS ist. [1] Longley et al. (2011): Geographic Information Systems and Science. Wiley. http://eu.wiley.com/WileyCDA/WileyTitle/productCd- EHEP001475.html) 9 / 36
von räumlichen Versätzen R als GIS Wenn man GIS als ein System zur Analyse, Manipulation, Speicherung und Visualisierung geopraphischer Daten definiert1, so könnte man sagen, dass R bereits ein vollwertiges GIS ist. [1] Longley et al. (2011): Geographic Information Systems and Science. Wiley. http://eu.wiley.com/WileyCDA/WileyTitle/productCd- EHEP001475.html) 9 / 36
von räumlichen Versätzen icon-icons.com R als GIS Wenn man GIS als ein System zur Analyse, Manipulation, Speicherung und Visualisierung geopraphischer Daten definiert1, so könnte man sagen, dass R bereits ein vollwertiges GIS ist. [1] Longley et al. (2011): Geographic Information Systems and Science. Wiley. http://eu.wiley.com/WileyCDA/WileyTitle/productCd- EHEP001475.html) 9 / 36
von räumlichen Versätzen Editor-Werkzeugleiste ArcGIS R als GIS Wenn man GIS als ein System zur Analyse, Manipulation, Speicherung und Visualisierung geopraphischer Daten definiert1, so könnte man sagen, dass R bereits ein vollwertiges GIS ist. [1] Longley et al. (2011): Geographic Information Systems and Science. Wiley. http://eu.wiley.com/WileyCDA/WileyTitle/productCd- EHEP001475.html) 9 / 36
von räumlichen Versätzen http://help.arcgis.com/ R als GIS Wenn man GIS als ein System zur Analyse, Manipulation, Speicherung und Visualisierung geopraphischer Daten definiert1, so könnte man sagen, dass R bereits ein vollwertiges GIS ist. [1] Longley et al. (2011): Geographic Information Systems and Science. Wiley. http://eu.wiley.com/WileyCDA/WileyTitle/productCd- EHEP001475.html) 9 / 36
Package vignette Veröffentlichung: 2007 R Paket rgrass7 : Authors: Bivand, R., Krug, R., Neteler, M., Jeworutzki, S. R Paket spgrass6 : Authors: Bivand, R., Krug, R., Neteler, M. R als GIS R-GIS Integration 12 / 36
vignette Veröffentlichung: 2016 R Paket RPyGeo : Authors: Brenning, A. Veröffentlichung: 2011 Wird derzeit aktualisiert R als GIS R-GIS Integration 13 / 36
Zugang zu QGIS eigenen Geoalgorithmen Zugang zu allen Algorithmen, die QGIS integriert SAGA GRASS GDAL TauDEM Orfeo Toolbox LiDAR tools R Nutzer können in ihrer gewohnten Arbeitsumgebung bleiben 15 / 36
Zugang zu QGIS eigenen Geoalgorithmen Zugang zu allen Algorithmen, die QGIS integriert SAGA GRASS GDAL TauDEM Orfeo Toolbox LiDAR tools R Nutzer können in ihrer gewohnten Arbeitsumgebung bleiben 'Convenience' Funktionen wie zum Beispiel open_help() zum öffnen der QGIS/GRASS/SAGA Hilfe 15 / 36
run_qgis("grass7:r.slope.aspect", params = params, qgis_env = qgis_env, load_output = params$slope) Zwei Optionen: 1. Abgeleitete Hangneigung in den Ordner schreiben -> raster::writeRaster(slope, "path/to/folder/slope.tif") 2. Darstellen des Ergebnis in R (siehe rechts) raster::plot(slope, main = "Slope") RQGIS Beispielanwendung: Ableitung der Hangneigung eines Höhenmodells 19 / 36
über Arbeitsverzeichnis, SAGA-Programmverzeichnis, verfügbaren Modulen etc. Geoprozessor -> rsaga.geoprocessor() 'Workhorse' Funktion welche SAGA aufruft ( saga_cmd ) und Zugang zu allen SAGA Modulen bietet 22 / 36
über Arbeitsverzeichnis, SAGA-Programmverzeichnis, verfügbaren Modulen etc. Geoprozessor -> rsaga.geoprocessor() 'Workhorse' Funktion welche SAGA aufruft ( saga_cmd ) und Zugang zu allen SAGA Modulen bietet Lokale und fokale Funktionen (geschrieben in R) z.B. multi.focal.function() , grid.predict() 22 / 36
über Arbeitsverzeichnis, SAGA-Programmverzeichnis, verfügbaren Modulen etc. Geoprozessor -> rsaga.geoprocessor() 'Workhorse' Funktion welche SAGA aufruft ( saga_cmd ) und Zugang zu allen SAGA Modulen bietet Lokale und fokale Funktionen (geschrieben in R) z.B. multi.focal.function() , grid.predict() Hilfsunktionen (geschrieben in R) z.B. pick.from.ascii.grid() 22 / 36
z.B. Generalisiertes Lineares Modell (GLM) in R. Ziel: Vorhersage von Hagelauftreten (Wahrscheinlichkeit von 0 - 1) mit Temperatur, Niederschlag und solarer Einstrahlung als Prädiktoren für eine ganze Region 25 / 36
z.B. Generalisiertes Lineares Modell (GLM) in R. Ziel: Vorhersage von Hagelauftreten (Wahrscheinlichkeit von 0 - 1) mit Temperatur, Niederschlag und solarer Einstrahlung als Prädiktoren für eine ganze Region Informationen von Temperatur, Niederschlag und solarer Einstrahlung ist in Raster Dateien vorhanden 25 / 36
z.B. Generalisiertes Lineares Modell (GLM) in R. Ziel: Vorhersage von Hagelauftreten (Wahrscheinlichkeit von 0 - 1) mit Temperatur, Niederschlag und solarer Einstrahlung als Prädiktoren für eine ganze Region (= logistische Regression) Informationen von Temperatur, Niederschlag und solarer Einstrahlung ist in Raster Dateien vorhanden Mit multi.local.function() kann ein Modell in R direkt auf Prädiktoren, welche in Raster Dateien vorliegen, vorhergesagt werden 27 / 36
R-Funktion auf mehrere Raster Anpassen des Modells in R: library(stats) fit <- stats::glm(hagel ~ ns + temp + srad, data = d, family = "binomial") Anwendung der predict() -Methode eines angepassten Modells (hier: GLM) auf mehrere Raster, welche die Prädiktor Information beinhalten: multi.local.function(in.grids = c("ns", "temp", "srad"), out.varnames = "pred", fun = grid.predict, fit = fit) Bemerkungen: Model Vorhersagen werden in eine Datei namens pred.asc geschrieben grid.predict() nutzt standardmäßig die 'predict'-Methode des jeweiligen angepassten Modells 28 / 36
get_args_man() nutzerfreundlicher als RSAGA. Hier müssen erst die "libraries" ( rsaga.get.libraries() ), dann die "modules" ( rsaga.get.modules() ) und dann noch die "usage" ( rsaga.get.usage() ) gefunden werden. 29 / 36
get_args_man() nutzerfreundlicher als RSAGA. Hier müssen erst die "libraries" ( rsaga.get.libraries() ), dann die "modules" ( rsaga.get.modules() ) und dann noch die "usage" ( rsaga.get.usage() ) gefunden werden. Bei der Verwendung von RQGIS muss nur ein R Paket verwendet werden, um QGIS + SAGA + GRASS + GDAL + ... Algorithmen zu verwenden (anstatt rgrass7 und RSAGA ). 29 / 36
get_args_man() nutzerfreundlicher als RSAGA. Hier müssen erst die "libraries" ( rsaga.get.libraries() ), dann die "modules" ( rsaga.get.modules() ) und dann noch die "usage" ( rsaga.get.usage() ) gefunden werden. Bei der Verwendung von RQGIS muss nur ein R Paket verwendet werden, um QGIS + SAGA + GRASS + GDAL + ... Algorithmen zu verwenden (anstatt rgrass7 und RSAGA ). PRO RSAGA RSAGA hat den Vorteil, dass es zusätzliche Statistikfunktionen bietet (z.b. multi.local.function() ). 29 / 36
get_args_man() nutzerfreundlicher als RSAGA. Hier müssen erst die "libraries" ( rsaga.get.libraries() ), dann die "modules" ( rsaga.get.modules() ) und dann noch die "usage" ( rsaga.get.usage() ) gefunden werden. Bei der Verwendung von RQGIS muss nur ein R Paket verwendet werden, um QGIS + SAGA + GRASS + GDAL + ... Algorithmen zu verwenden (anstatt rgrass7 und RSAGA ). PRO RSAGA RSAGA hat den Vorteil, dass es zusätzliche Statistikfunktionen bietet (z.b. multi.local.function() ). RSAGA kann SAGA Funktionen parallel ausführen (siehe "parallel" Argument von rsaga.env() ) 29 / 36
get_args_man() nutzerfreundlicher als RSAGA. Hier müssen erst die "libraries" ( rsaga.get.libraries() ), dann die "modules" ( rsaga.get.modules() ) und dann noch die "usage" ( rsaga.get.usage() ) gefunden werden. Bei der Verwendung von RQGIS muss nur ein R Paket verwendet werden, um QGIS + SAGA + GRASS + GDAL + ... Algorithmen zu verwenden (anstatt rgrass7 und RSAGA ). PRO RSAGA RSAGA hat den Vorteil, dass es zusätzliche Statistikfunktionen bietet (z.b. multi.local.function() ). RSAGA kann SAGA Funktionen parallel ausführen (siehe "parallel" Argument von rsaga.env() ) RSAGA bietet "Vereinfachungsfunktionen" für viele SAGA Algorithmen, z.b. rsaga.slope() . 29 / 36
direkt auf sondern generiert Python Code, der wiederum von ArcGIS ausgeführt wird Läuft nur unter Windows (wie ArcGIS) Im Grunde ein "proof of principle" inklusive einiger zusätzlicher R-Funktionen für ArcGIS Anwendungen 31 / 36
direkt auf sondern generiert Python Code, der wiederum von ArcGIS ausgeführt wird Läuft nur unter Windows (wie ArcGIS) Im Grunde ein "proof of principle" inklusive einiger zusätzlicher R-Funktionen für ArcGIS Anwendungen Weniger zuverlässig als RSAGA aufgrund der oft unverständlichen/unglücklichen ArcGIS Fehlermeldungen 31 / 36
( dem ) in einer Funktion # Allow ArcGIS to overwrite existing datasets: rpygeo.env$overwriteoutput = 1 rpygeo.geoprocessor("Slope_sa('dem','slope')", "Aspect_sa('dem','aspect')", "Hillshade_sa('dem','hshd')") Bemerkungen Das durch rpygeo.geoprocessor() erstellte Python Skript, welches den ArcGIS workspace erstellt und die Erweiterungen aktiviert, macht die Funktion relativ ineffizient Jedoch spart man erheblich Zeit, da nicht zwischen drei Anwendungen ( ArcGIS , Python , R ) und zwei Programmiersprachen ( Python & R ) gewechselt werden muss 33 / 36
als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) Reproduzierbare Arbeitsweise durch 'Skripting' Integration von Geoalgorithmen verschiedenster GIS Systeme möglich 35 / 36
als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) Reproduzierbare Arbeitsweise durch 'Skripting' Integration von Geoalgorithmen verschiedenster GIS Systeme möglich Zusätzliche Funktionen aller GIS Integrationspakete in R, welche Arbeitsschritte erleichtern Con Effizienzverlust bei der Prozessierung, da integrierte Algorithmen nur indirekt angesprochen werden können 35 / 36
als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) Reproduzierbare Arbeitsweise durch 'Skripting' Integration von Geoalgorithmen verschiedenster GIS Systeme möglich Zusätzliche Funktionen aller GIS Integrationspakete in R, welche Arbeitsschritte erleichtern Con Effizienzverlust bei der Prozessierung, da integrierte Algorithmen nur indirekt angesprochen werden können Problematik bei qualitativer Datenkorrektur/inspektion (Stichwort: GUI) 35 / 36