Upgrade to Pro — share decks privately, control downloads, hide ads and more …

R als GIS

Patrick Schratz
February 25, 2017

R als GIS

Integration von GIS in R für räumliche Analysen mit Open-Source-Software

Patrick Schratz

February 25, 2017
Tweet

More Decks by Patrick Schratz

Other Decks in Science

Transcript

  1. R als GIS Integration von GIS in R für räumliche

    Analysen mit Open- Source-Software Schratz, P., Muenchow, J., Brenning, A. GIScience group, FSU Jena
  2. Outline 1. Warum GIS Software integrieren? 2. R als GIS

    3. R Paket RQGIS 4. R Paket RSAGA 5. R Paket RPyGeo 6. Zusammenfassung 2 / 36
  3. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    räumlichen Analyse ist sehr spezialisiert 4 / 36
  4. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren 4 / 36
  5. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    räumlichen Analyse ist sehr spezialisiert Viele eigenständige Anwendungen/Bibliotheken existieren Spezialisierung auf bestimmte geographische Bereiche 4 / 36
  6. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    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
  7. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    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
  8. Warum GIS Software integrieren? Problematik Das Angebot im Bereich der

    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
  9. Warum GIS Software integrieren? Lösungsansatz Kombination aller Bibliotheken/GIS-Algorithmen in einer

    Umgebung Warum in R? Nutzerfreundliche Programmiersprache Starke Community vorhanden bei Problemen (Mailinglisten, Stackoverflow) 5 / 36
  10. Warum GIS Software integrieren? Lösungsansatz Kombination aller Bibliotheken/GIS-Algorithmen in einer

    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
  11. R als GIS Mehr als 100 Pakete mit Geo-Bezug (https://cran.r-

    project.org/web/views/Spatial.html) Paket rgdal als 'Motor' zum importieren und exportieren von Geodaten 7 / 36
  12. R als GIS Mehr als 100 Pakete mit Geo-Bezug (https://cran.r-

    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
  13. Package sp / sf for vector geodata Rikken, M.G.J &

    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
  14. Package sp / sf for vector geodata Rikken, M.G.J &

    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
  15. 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
  16. Aber was ist mit Dingen wie... (Geo)-Datenbanken Digitalisierung Manuelle Korrektur

    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
  17. Aber was ist mit Dingen wie... (Geo)-Datenbanken Digitalisierung Manuelle Korrektur

    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
  18. Aber was ist mit Dingen wie... (Geo)-Datenbanken Digitalisierung Manuelle Korrektur

    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
  19. Aber was ist mit Dingen wie... (Geo)-Datenbanken Digitalisierung Manuelle Korrektur

    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
  20. R als GIS Aber was ist mit Dingen wie... Aufwendigen

    Rechenoperationen (z.B. Dissolve vieler Polygone)? 10 / 36
  21. Aber was ist mit Dingen wie... Fehlenden Algorithmen SAGA GRASS

    QGIS LiDAR Orfeo Toolbox TauDEM R als GIS 11 / 36
  22. R Paket RSAGA : Authors: Brenning, A. & Bangs, D.

    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
  23. R Paket RQGIS : Authors: Muenchow, J., Schratz, P. Package

    vignette Veröffentlichung: 2016 R Paket RPyGeo : Authors: Brenning, A. Veröffentlichung: 2011 Wird derzeit aktualisiert R als GIS R-GIS Integration 13 / 36
  24. RQGIS Interface für das am weitesten verbreitet open-source Desktop GIS

    Zugang zu QGIS eigenen Geoalgorithmen 15 / 36
  25. RQGIS Interface für das am weitesten verbreitet open-source Desktop GIS

    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
  26. RQGIS Interface für das am weitesten verbreitet open-source Desktop GIS

    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
  27. ## $elevation ## [1] "None" ## ## $format ## [1]

    "0" ## ## $precision ## [1] "0" ## ## $`-a` ## [1] "True" ## ## $zscale ## [1] "1.0" ## ## $min_slope ## [1] "0.0" ## ## $GRASS_REGION_PARAMETER ## [1] "\"None\"" ## ## $GRASS_REGION_CELLSIZE_PARAMETER ## [1] "0.0" ## $slope ## [1] "None" ## ## $aspect ## [1] "None" ## ## $pcurvature ## [1] "None" ## ## $tcurvature ## [1] "None" ## ## $dx ## [1] "None" ## ## $dy ## [1] "None" ## ## $dxx ## [1] "None" ## ## $dyy ## [1] "None" ## ## $dxy ## [1] "None" RQGIS get_args_man() : Gibt alle Parameter einer Funktion zurück und zeigt die 'default' Werte an get_args_man(alg = "grass7:r.slope.aspect", options = TRUE, qgis_env = qgis_env) 18 / 36
  28. data("dem") params$elevation <- dem params$slope <- file.path(tempdir(), "slope.asc") slope <-

    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
  29. RSAGA Kombiniert die Stärken von R (statistische Auswertung) und SAGA

    (Oberflächenanalyse) library("RSAGA", quietly = TRUE) rsaga.env()[1:5] ## $workspace ## [1] "." ## ## $cmd ## [1] "saga_cmd" ## ## $path ## [1] "/usr/local/bin" ## ## $modules ## [1] "/usr/local/lib/saga" ## ## $version ## [1] "2.2.2" 21 / 36
  30. RSAGA Geoprozessierungsumgebung -> rsaga.env() Auflistung der SAGA Struktur mit Informationen

    über Arbeitsverzeichnis, SAGA-Programmverzeichnis, verfügbaren Modulen etc. 22 / 36
  31. RSAGA Geoprozessierungsumgebung -> rsaga.env() Auflistung der SAGA Struktur mit Informationen

    ü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
  32. RSAGA Geoprozessierungsumgebung -> rsaga.env() Auflistung der SAGA Struktur mit Informationen

    ü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
  33. RSAGA Geoprozessierungsumgebung -> rsaga.env() Auflistung der SAGA Struktur mit Informationen

    ü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
  34. RSAGA Beispiel: Ableitung der Hangneigung, Ausrichtung und Krümmung eines Höhenmodells

    RSAGA kommuniziert mit dem Kommandozeilen-Interpreter von SAGA-GIS . Funktionsaufrufe in RSAGA folgen einer bestimmten Reihenfolge rsaga.geoprocessor(lib = "ta_morphometry", module = "Slope, Aspect, Curvature", param = list(ELEVATION = "dem.sgrd"), SLOPE = "slope.sgrd")) Bestimmte Funktionen können auch über high-level rsaga.* Funktionen aufgerufen werden rsaga.slope(in.dem = "dem", out.slope = "slope") 23 / 36
  35. rsaga.get.libraries()[1:60] ## [1] "climate_tools" "contrib_perego" ## [3] "db_odbc" "docs_html" ##

    [5] "docs_pdf" "garden_3d_viewer" ## [7] "garden_fractals" "garden_games" ## [9] "garden_learn_to_program" "garden_webservices" ## [11] "grid_analysis" "grid_calculus_bsl" ## [13] "grid_calculus" "grid_filter" ## [15] "grid_gridding" "grid_spline" ## [17] "grid_tools" "grid_visualisation" ## [19] "imagery_classification" "imagery_maxent" ## [21] "imagery_photogrammetry" "imagery_segmentation" ## [23] "imagery_svm" "imagery_tools" ## [25] "io_esri_e00" "io_gdal" ## [27] "io_gps" "io_grid_grib2" ## [29] "io_grid_image" "io_grid" ## [31] "io_shapes_dxf" "io_shapes" ## [33] "io_table" "io_virtual" ## [35] "pj_georeference" "pj_proj4" ## [37] "pointcloud_tools" "pointcloud_viewer" ## [39] "shapes_grid" "shapes_lines" ## [41] "shapes_points" "shapes_polygons" ## [43] "shapes_tools" "shapes_transect" ## [45] "sim_cellular_automata" "sim_ecosystems_hugget" ## [47] "sim_erosion" "sim_fire_spreading" ## [49] "sim_hydrology" "sim_ihacres" ## [51] "sim_rivflow" "statistics_grid" ## [53] "statistics_kriging" "statistics_points" ## [55] "statistics_regression" "ta_channels" ## [57] "ta_compound" "ta_hydrology" ## [59] "ta_lighting" "ta_morphometry" rsaga.get.modules("ta_morphometry")[[1]][, -3] ## code name ## 1 0 Slope, Aspect, Curvature ## 2 1 Convergence Index ## 3 2 Convergence Index (Search Radius) ## 4 3 Surface Specific Points ## 5 4 Curvature Classification ## 6 5 Hypsometry ## 7 6 Real Surface Area ## 8 7 Morphometric Protection Index ## 9 8 Multiresolution Index of Valley Bottom Flatness (MRVBF) ## 10 9 Downslope Distance Gradient ## 11 10 Mass Balance Index ## 12 11 Effective Air Flow Heights ## 13 12 Diurnal Anisotropic Heating ## 14 13 Land Surface Temperature ## 15 14 Relative Heights and Slope Positions ## 16 15 Wind Effect (Windward / Leeward Index) ## 17 16 Terrain Ruggedness Index (TRI) ## 18 17 Vector Ruggedness Measure (VRM) ## 19 18 Topographic Position Index (TPI) ## 20 19 TPI Based Landform Classification ## 21 20 Terrain Surface Texture ## 22 21 Terrain Surface Convexity ## 23 22 Terrain Surface Classification (Iwahashi and Pike) ## 24 23 Morphometric Features ## 25 24 Valley and Ridge Detection (Top Hat Approach) ## 26 25 Fuzzy Landform Element Classification ## 27 26 Upslope and Downslope Curvature ## 28 27 Wind Exposition Index RSAGA Eine Übersicht aller verfügbaren "libraries/modules" ist mit rsaga.get.libraries() oder rsaga.get.modules() möglich: 24 / 36
  36. RSAGA Kombination von R und SAGA Annahme: Angepasstes statistisches Modell,

    z.B. Generalisiertes Lineares Modell (GLM) in R. 25 / 36
  37. RSAGA Kombination von R und SAGA Annahme: Angepasstes statistisches Modell,

    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
  38. RSAGA Kombination von R und SAGA Annahme: Angepasstes statistisches Modell,

    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
  39. RSAGA Kombination von R und SAGA Annahme: Angepasstes statistisches Modell,

    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
  40. RSAGA Kombination von R und SAGA multi.local.function() : Anwendung einer

    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
  41. RSAGA oder RQGIS?! Pro RQGIS RQGIS ist mit find_algorithms() und

    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
  42. RSAGA oder RQGIS?! Pro RQGIS RQGIS ist mit find_algorithms() und

    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
  43. RSAGA oder RQGIS?! Pro RQGIS RQGIS ist mit find_algorithms() und

    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
  44. RSAGA oder RQGIS?! Pro RQGIS RQGIS ist mit find_algorithms() und

    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
  45. RSAGA oder RQGIS?! Pro RQGIS RQGIS ist mit find_algorithms() und

    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
  46. RPyGeo Führt ArcGIS Geoprozessierung in R aus Ruft ArcGIS nicht

    direkt auf sondern generiert Python Code, der wiederum von ArcGIS ausgeführt wird 31 / 36
  47. RPyGeo Führt ArcGIS Geoprozessierung in R aus Ruft ArcGIS nicht

    direkt auf sondern generiert Python Code, der wiederum von ArcGIS ausgeführt wird Läuft nur unter Windows (wie ArcGIS) 31 / 36
  48. RPyGeo Führt ArcGIS Geoprozessierung in R aus Ruft ArcGIS nicht

    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
  49. RPyGeo Führt ArcGIS Geoprozessierung in R aus Ruft ArcGIS nicht

    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
  50. RPyGeo Die Arbeitsumgebung ist in rpygeo.env festgelegt und kann mit

    rpygeo.build.env() modifiziert werden. $modules [1] "arcgisscripting" $init [1] "gp = arcgisscripting.create()" $workspace NULL $cellsize NULL $extent NULL $mask NULL $overwriteoutput [1] 0 $extensions NULL $python.path [1] "C:\\software\\Python24" $python.command [1] "python.exe" 32 / 36
  51. RPyGeo Beispiel: Ableitung von Hangneigung, Hangausrichtung und Krümmung eines Höhenmodells

    ( 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
  52. Zusammenfassung (R als GIS / GIS Integration) Pro R kann

    als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) 35 / 36
  53. Zusammenfassung (R als GIS / GIS Integration) Pro R kann

    als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) Reproduzierbare Arbeitsweise durch 'Skripting' 35 / 36
  54. Zusammenfassung (R als GIS / GIS Integration) Pro R kann

    als eigenes GIS verwendet werden ( raster , sp , sf , rgeos , rgdal ) Reproduzierbare Arbeitsweise durch 'Skripting' Integration von Geoalgorithmen verschiedenster GIS Systeme möglich 35 / 36
  55. Zusammenfassung (R als GIS / GIS Integration) Pro R kann

    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
  56. Zusammenfassung (R als GIS / GIS Integration) Pro R kann

    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