R als GIS - Patrick Schratz · R Paket RPyGeo: Authors: Brenning, A. Veröffentlichung: 2011 Wird...

72
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

Transcript of R als GIS - Patrick Schratz · R Paket RPyGeo: Authors: Brenning, A. Veröffentlichung: 2011 Wird...

  • RalsGIS

    IntegrationvonGISinRfürräumlicheAnalysenmitOpen-

    Source-Software

    Schratz,P.,Muenchow,J.,Brenning,A.

    GISciencegroup,FSUJena

  • Outline1. WarumGISSoftwareintegrieren?

    2. RalsGIS

    3. RPaket RQGIS

    4. RPaket RSAGA

    5. RPaket RPyGeo

    6. Zusammenfassung

    2/36

  • 1.WarumGISSoftwareintegrieren?

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    4/36

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    VieleeigenständigeAnwendungen/Bibliothekenexistieren

    4/36

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    VieleeigenständigeAnwendungen/Bibliothekenexistieren

    SpezialisierungaufbestimmtegeographischeBereiche

    4/36

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    VieleeigenständigeAnwendungen/Bibliothekenexistieren

    SpezialisierungaufbestimmtegeographischeBereiche

    Verfügbarkeit/Nutzerfreundlichkeit

    Nichtallehabenein(nutzerfreundliches)GraphicalUserInterface(GUI)

    4/36

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    VieleeigenständigeAnwendungen/Bibliothekenexistieren

    SpezialisierungaufbestimmtegeographischeBereiche

    Verfügbarkeit/Nutzerfreundlichkeit

    Nichtallehabenein(nutzerfreundliches)GraphicalUserInterface(GUI)

    UnterschiedlicheDateiformate

    4/36

  • WarumGISSoftwareintegrieren?

    Problematik

    DasAngebotimBereichderräumlichenAnalyseistsehrspezialisiert

    VieleeigenständigeAnwendungen/Bibliothekenexistieren

    SpezialisierungaufbestimmtegeographischeBereiche

    Verfügbarkeit/Nutzerfreundlichkeit

    Nichtallehabenein(nutzerfreundliches)GraphicalUserInterface(GUI)

    UnterschiedlicheDateiformate

    Plattformabhängig(WindowsUnix)

    4/36

  • WarumGISSoftwareintegrieren?

    Lösungsansatz

    KombinationallerBibliotheken/GIS-AlgorithmenineinerUmgebung

    5/36

  • WarumGISSoftwareintegrieren?

    Lösungsansatz

    KombinationallerBibliotheken/GIS-AlgorithmenineinerUmgebung

    WaruminR?

    NutzerfreundlicheProgrammiersprache

    5/36

  • WarumGISSoftwareintegrieren?

    Lösungsansatz

    KombinationallerBibliotheken/GIS-AlgorithmenineinerUmgebung

    WaruminR?

    NutzerfreundlicheProgrammiersprache

    StarkeCommunityvorhandenbeiProblemen(Mailinglisten,Stackoverflow)

    5/36

  • WarumGISSoftwareintegrieren?

    Lösungsansatz

    KombinationallerBibliotheken/GIS-AlgorithmenineinerUmgebung

    WaruminR?

    NutzerfreundlicheProgrammiersprache

    StarkeCommunityvorhandenbeiProblemen(Mailinglisten,Stackoverflow)

    IntegrationderStärkenvonR

    StatistischeAuswertung

    ReproduzierbareAnalysen('literateprogramming'-> Rmarkdown )

    Ralsstarkes'eigenständiges'GIS

    5/36

  • 2.RalsGIS

  • RalsGISMehrals100PaketemitGeo-Bezug(https://cran.r-project.org/web/views/Spatial.html)

    Paket rgdal als'Motor'zumimportierenundexportierenvonGeodaten

    7/36

    https://cran.r-project.org/web/views/Spatial.html

  • RalsGISMehrals100PaketemitGeo-Bezug(https://cran.r-project.org/web/views/Spatial.html)

    Paket rgdal als'Motor'zumimportierenundexportierenvonGeodaten

    http://r-spatial.org//2016/11/29/openeo.html

    7/36

    https://cran.r-project.org/web/views/Spatial.htmlhttp://r-spatial.org//2016/11/29/openeo.html

  • Package sp / sf forvectorgeodata

    Rikken,M.G.J&VanRijn,R.P.G.(1993)1

    RalsGIS

    [1]Rikkenetal.(1993):Soilpollutionwithheavymetals-aninquiryintospatialvariation,costofmappingandtheriskevaluationofcopper,cadmium,leadandzincinthefloodplainsofthemeusewestofstein.Dept.ofPhysicalGeography,UtrechtUniversity

    8/36

  • Package sp / sf forvectorgeodata

    Rikken,M.G.J&VanRijn,R.P.G.(1993)1

    Package raster forrasterdata

    http://www.worldclim.org/

    RalsGIS

    [1]Rikkenetal.(1993):Soilpollutionwithheavymetals-aninquiryintospatialvariation,costofmappingandtheriskevaluationofcopper,cadmium,leadandzincinthefloodplainsofthemeusewestofstein.Dept.ofPhysicalGeography,UtrechtUniversity

    8/36

    http://www.worldclim.org/

  • RalsGISWennman GIS alseinSystemzurAnalyse,Manipulation,SpeicherungundVisualisierunggeopraphischerDatendefiniert1,sokönntemansagen,dassRbereitseinvollwertiges GIS ist.

    [1]Longleyetal.(2011):GeographicInformationSystemsandScience.Wiley.http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html)

    9/36

    http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html

  • AberwasistmitDingenwie...

    (Geo)-Datenbanken

    Digitalisierung

    ManuelleKorrekturvonräumlichenVersätzen

    RalsGISWennman GIS alseinSystemzurAnalyse,Manipulation,SpeicherungundVisualisierunggeopraphischerDatendefiniert1,sokönntemansagen,dassRbereitseinvollwertiges GIS ist.

    [1]Longleyetal.(2011):GeographicInformationSystemsandScience.Wiley.http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html)

    9/36

    http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html

  • AberwasistmitDingenwie...

    (Geo)-Datenbanken

    Digitalisierung

    ManuelleKorrekturvonräumlichenVersätzen

    icon-icons.com

    RalsGISWennman GIS alseinSystemzurAnalyse,Manipulation,SpeicherungundVisualisierunggeopraphischerDatendefiniert1,sokönntemansagen,dassRbereitseinvollwertiges GIS ist.

    [1]Longleyetal.(2011):GeographicInformationSystemsandScience.Wiley.http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html)

    9/36

    file:///Users/pjs/Servers/GIServer/home/patrick/PhD/R/presentations/AK-TQMG/icon-icons.comhttp://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html

  • AberwasistmitDingenwie...

    (Geo)-Datenbanken

    Digitalisierung

    ManuelleKorrekturvonräumlichenVersätzen

    Editor-WerkzeugleisteArcGIS

    RalsGISWennman GIS alseinSystemzurAnalyse,Manipulation,SpeicherungundVisualisierunggeopraphischerDatendefiniert1,sokönntemansagen,dassRbereitseinvollwertiges GIS ist.

    [1]Longleyetal.(2011):GeographicInformationSystemsandScience.Wiley.http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html)

    9/36

    http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html

  • AberwasistmitDingenwie...

    (Geo)-Datenbanken

    Digitalisierung

    ManuelleKorrekturvonräumlichenVersätzen

    http://help.arcgis.com/

    RalsGISWennman GIS alseinSystemzurAnalyse,Manipulation,SpeicherungundVisualisierunggeopraphischerDatendefiniert1,sokönntemansagen,dassRbereitseinvollwertiges GIS ist.

    [1]Longleyetal.(2011):GeographicInformationSystemsandScience.Wiley.http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html)

    9/36

    http://help.arcgis.com/http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001475.html

  • RalsGISAberwasistmitDingenwie...

    AufwendigenRechenoperationen(z.B. Dissolve vielerPolygone)?

    10/36

  • AberwasistmitDingenwie...

    FehlendenAlgorithmen

    SAGA

    GRASS

    QGIS

    LiDAR

    OrfeoToolbox

    TauDEM

    RalsGIS

    11/36

  • RPaket RSAGA :

    Authors:Brenning,A.&Bangs,D.PackagevignetteVeröffentlichung:2007

    RPaket rgrass7 :

    Authors:Bivand,R.,Krug,R.,Neteler,M.,Jeworutzki,S.

    RPaket spgrass6 :

    Authors:Bivand,R.,Krug,R.,Neteler,M.

    RalsGISR-GISIntegration

    12/36

    https://cran.r-project.org/web/packages/RSAGA/index.htmlhttps://cran.r-project.org/web/packages/RSAGA/vignettes/RSAGA-landslides.pdfhttps://cran.r-project.org/web/packages/rgrass7/index.htmlhttps://cran.r-project.org/web/packages/spgrass6/index.html

  • RPaket RQGIS :

    Authors:Muenchow,J.,Schratz,P.PackagevignetteVeröffentlichung:2016

    RPaket RPyGeo :

    Authors:Brenning,A.Veröffentlichung:2011Wirdderzeitaktualisiert

    RalsGISR-GISIntegration

    13/36

    https://cran.r-project.org/web/packages/RQGIS/index.htmlhttps://cran.r-project.org/web/packages/RQGIS/vignettes/install_guide.htmlhttps://cran.r-project.org/web/packages/RPyGeo/index.html

  • 3.RPaketRQGIS

  • RQGISInterfacefürdasamweitestenverbreitetopen-sourceDesktopGIS

    15/36

  • RQGISInterfacefürdasamweitestenverbreitetopen-sourceDesktopGIS

    ZugangzuQGISeigenenGeoalgorithmen

    15/36

  • RQGISInterfacefürdasamweitestenverbreitetopen-sourceDesktopGIS

    ZugangzuQGISeigenenGeoalgorithmen

    ZugangzuallenAlgorithmen,dieQGISintegriert

    SAGAGRASSGDALTauDEMOrfeoToolboxLiDARtools

    RNutzerkönneninihrergewohntenArbeitsumgebungbleiben

    15/36

  • RQGISInterfacefürdasamweitestenverbreitetopen-sourceDesktopGIS

    ZugangzuQGISeigenenGeoalgorithmen

    ZugangzuallenAlgorithmen,dieQGISintegriert

    SAGAGRASSGDALTauDEMOrfeoToolboxLiDARtools

    RNutzerkönneninihrergewohntenArbeitsumgebungbleiben

    'Convenience'FunktionenwiezumBeispiel open_help() zumöffnenderQGIS/GRASS/SAGAHilfe

    15/36

  • RQGISZugriffüberQGISAPI-> processing Modul

    16/36

  • library("RQGIS")

    qgis_env

  • ##$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"

    RQGISget_args_man() :GibtalleParametereinerFunktionzurückundzeigtdie'default'Wertean

    get_args_man(alg="grass7:r.slope.aspect",options=TRUE,qgis_env=qgis_env)

    18/36

  • data("dem")params$elevation

  • 4.RPaketRSAGA

  • RSAGAKombiniertdieStärkenvonR(statistischeAuswertung)undSAGA(Oberflächenanalyse)

    21/36

  • RSAGAKombiniertdieStärkenvonR(statistischeAuswertung)undSAGA(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

  • RSAGAGeoprozessierungsumgebung-> rsaga.env()

    AuflistungderSAGAStrukturmitInformationenüberArbeitsverzeichnis,SAGA-Programmverzeichnis,verfügbarenModulenetc.

    22/36

  • RSAGAGeoprozessierungsumgebung-> rsaga.env()

    AuflistungderSAGAStrukturmitInformationenüberArbeitsverzeichnis,SAGA-Programmverzeichnis,verfügbarenModulenetc.

    Geoprozessor-> rsaga.geoprocessor()

    'Workhorse'FunktionwelcheSAGAaufruft( saga_cmd )undZugangzuallenSAGAModulenbietet

    22/36

  • RSAGAGeoprozessierungsumgebung-> rsaga.env()

    AuflistungderSAGAStrukturmitInformationenüberArbeitsverzeichnis,SAGA-Programmverzeichnis,verfügbarenModulenetc.

    Geoprozessor-> rsaga.geoprocessor()

    'Workhorse'FunktionwelcheSAGAaufruft( saga_cmd )undZugangzuallenSAGAModulenbietet

    LokaleundfokaleFunktionen(geschriebeninR)

    z.B. multi.focal.function() , grid.predict()

    22/36

  • RSAGAGeoprozessierungsumgebung-> rsaga.env()

    AuflistungderSAGAStrukturmitInformationenüberArbeitsverzeichnis,SAGA-Programmverzeichnis,verfügbarenModulenetc.

    Geoprozessor-> rsaga.geoprocessor()

    'Workhorse'FunktionwelcheSAGAaufruft( saga_cmd )undZugangzuallenSAGAModulenbietet

    LokaleundfokaleFunktionen(geschriebeninR)

    z.B. multi.focal.function() , grid.predict()

    Hilfsunktionen(geschriebeninR)

    z.B. pick.from.ascii.grid()

    22/36

  • RSAGABeispiel:AbleitungderHangneigung,AusrichtungundKrümmungeinesHöhenmodells

    RSAGA kommuniziertmitdemKommandozeilen-Interpretervon SAGA-GIS .Funktionsaufrufein RSAGA folgeneinerbestimmtenReihenfolge

    rsaga.geoprocessor(lib="ta_morphometry",module="Slope,Aspect,Curvature",param=list(ELEVATION="dem.sgrd"),SLOPE="slope.sgrd"))

    BestimmteFunktionenkönnenauchüberhigh-level rsaga.* Funktionenaufgerufenwerden

    rsaga.slope(in.dem="dem",out.slope="slope")

    23/36

  • 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]

    ##codename##10Slope,Aspect,Curvature##21ConvergenceIndex##32ConvergenceIndex(SearchRadius)##43SurfaceSpecificPoints##54CurvatureClassification##65Hypsometry##76RealSurfaceArea##87MorphometricProtectionIndex##98MultiresolutionIndexofValleyBottomFlatness(MRVBF)##109DownslopeDistanceGradient##1110MassBalanceIndex##1211EffectiveAirFlowHeights##1312DiurnalAnisotropicHeating##1413LandSurfaceTemperature##1514RelativeHeightsandSlopePositions##1615WindEffect(Windward/LeewardIndex)##1716TerrainRuggednessIndex(TRI)##1817VectorRuggednessMeasure(VRM)##1918TopographicPositionIndex(TPI)##2019TPIBasedLandformClassification##2120TerrainSurfaceTexture##2221TerrainSurfaceConvexity##2322TerrainSurfaceClassification(IwahashiandPike)##2423MorphometricFeatures##2524ValleyandRidgeDetection(TopHatApproach)##2625FuzzyLandformElementClassification##2726UpslopeandDownslopeCurvature##2827WindExpositionIndex

    RSAGA

    EineÜbersichtallerverfügbaren"libraries/modules"istmit rsaga.get.libraries()oder rsaga.get.modules() möglich:

    24/36

  • RSAGAKombinationvonRundSAGA

    Annahme:AngepasstesstatistischesModell,z.B.GeneralisiertesLinearesModell(GLM)inR.

    25/36

  • RSAGAKombinationvonRundSAGA

    Annahme:AngepasstesstatistischesModell,z.B.GeneralisiertesLinearesModell(GLM)inR.

    Ziel:VorhersagevonHagelauftreten(Wahrscheinlichkeitvon0-1)mitTemperatur,NiederschlagundsolarerEinstrahlungalsPrädiktorenfüreineganzeRegion

    25/36

  • RSAGAKombinationvonRundSAGA

    Annahme:AngepasstesstatistischesModell,z.B.GeneralisiertesLinearesModell(GLM)inR.

    Ziel:VorhersagevonHagelauftreten(Wahrscheinlichkeitvon0-1)mitTemperatur,NiederschlagundsolarerEinstrahlungalsPrädiktorenfüreineganzeRegion

    InformationenvonTemperatur,NiederschlagundsolarerEinstrahlungistinRasterDateienvorhanden

    25/36

  • RSAGAKombinationvonRundSAGA

    26/36

  • RSAGAKombinationvonRundSAGA

    Annahme:AngepasstesstatistischesModell,z.B.GeneralisiertesLinearesModell(GLM)inR.

    Ziel:VorhersagevonHagelauftreten(Wahrscheinlichkeitvon0-1)mitTemperatur,NiederschlagundsolarerEinstrahlungalsPrädiktorenfüreineganzeRegion(=logistischeRegression)

    InformationenvonTemperatur,NiederschlagundsolarerEinstrahlungistinRasterDateienvorhanden

    Mit multi.local.function() kanneinModellinRdirektaufPrädiktoren,welcheinRasterDateienvorliegen,vorhergesagtwerden

    27/36

  • RSAGAKombinationvonRundSAGA

    multi.local.function() :AnwendungeinerR-FunktionaufmehrereRaster

    28/36

  • RSAGAKombinationvonRundSAGA

    multi.local.function() :AnwendungeinerR-FunktionaufmehrereRaster

    AnpassendesModellsinR:

    library(stats)fit

  • RSAGAoderRQGIS?!

    ProRQGIS

    RQGISistmit find_algorithms() und get_args_man() nutzerfreundlicheralsRSAGA.Hiermüssenerstdie"libraries"( rsaga.get.libraries() ),danndie"modules"( rsaga.get.modules() )unddannnochdie"usage"( rsaga.get.usage() )gefundenwerden.

    29/36

  • RSAGAoderRQGIS?!

    ProRQGIS

    RQGISistmit find_algorithms() und get_args_man() nutzerfreundlicheralsRSAGA.Hiermüssenerstdie"libraries"( rsaga.get.libraries() ),danndie"modules"( rsaga.get.modules() )unddannnochdie"usage"( rsaga.get.usage() )gefundenwerden.

    BeiderVerwendungvonRQGISmussnureinRPaketverwendetwerden,umQGIS+SAGA+GRASS+GDAL+...Algorithmenzuverwenden(anstatt rgrass7und RSAGA ).

    29/36

  • RSAGAoderRQGIS?!

    ProRQGIS

    RQGISistmit find_algorithms() und get_args_man() nutzerfreundlicheralsRSAGA.Hiermüssenerstdie"libraries"( rsaga.get.libraries() ),danndie"modules"( rsaga.get.modules() )unddannnochdie"usage"( rsaga.get.usage() )gefundenwerden.

    BeiderVerwendungvonRQGISmussnureinRPaketverwendetwerden,umQGIS+SAGA+GRASS+GDAL+...Algorithmenzuverwenden(anstatt rgrass7und RSAGA ).

    PRORSAGA

    RSAGAhatdenVorteil,dasseszusätzlicheStatistikfunktionenbietet(z.b.multi.local.function() ).

    29/36

  • RSAGAoderRQGIS?!

    ProRQGIS

    RQGISistmit find_algorithms() und get_args_man() nutzerfreundlicheralsRSAGA.Hiermüssenerstdie"libraries"( rsaga.get.libraries() ),danndie"modules"( rsaga.get.modules() )unddannnochdie"usage"( rsaga.get.usage() )gefundenwerden.

    BeiderVerwendungvonRQGISmussnureinRPaketverwendetwerden,umQGIS+SAGA+GRASS+GDAL+...Algorithmenzuverwenden(anstatt rgrass7und RSAGA ).

    PRORSAGA

    RSAGAhatdenVorteil,dasseszusätzlicheStatistikfunktionenbietet(z.b.multi.local.function() ).

    RSAGAkannSAGAFunktionenparallelausführen(siehe"parallel"Argumentvon rsaga.env() )

    29/36

  • RSAGAoderRQGIS?!

    ProRQGIS

    RQGISistmit find_algorithms() und get_args_man() nutzerfreundlicheralsRSAGA.Hiermüssenerstdie"libraries"( rsaga.get.libraries() ),danndie"modules"( rsaga.get.modules() )unddannnochdie"usage"( rsaga.get.usage() )gefundenwerden.

    BeiderVerwendungvonRQGISmussnureinRPaketverwendetwerden,umQGIS+SAGA+GRASS+GDAL+...Algorithmenzuverwenden(anstatt rgrass7und RSAGA ).

    PRORSAGA

    RSAGAhatdenVorteil,dasseszusätzlicheStatistikfunktionenbietet(z.b.multi.local.function() ).

    RSAGAkannSAGAFunktionenparallelausführen(siehe"parallel"Argumentvon rsaga.env() )

    RSAGAbietet"Vereinfachungsfunktionen"fürvieleSAGAAlgorithmen,z.b.rsaga.slope() .

    29/36

  • 5.RPaketRPyGeo

  • RPyGeo

    Führt ArcGIS GeoprozessierunginRaus

    31/36

  • RPyGeo

    Führt ArcGIS GeoprozessierunginRaus

    Ruft ArcGIS nichtdirektaufsonderngeneriertPythonCode,derwiederumvonArcGIS ausgeführtwird

    31/36

  • RPyGeo

    Führt ArcGIS GeoprozessierunginRaus

    Ruft ArcGIS nichtdirektaufsonderngeneriertPythonCode,derwiederumvonArcGIS ausgeführtwird

    LäuftnurunterWindows(wieArcGIS)

    31/36

  • RPyGeo

    Führt ArcGIS GeoprozessierunginRaus

    Ruft ArcGIS nichtdirektaufsonderngeneriertPythonCode,derwiederumvonArcGIS ausgeführtwird

    LäuftnurunterWindows(wieArcGIS)

    ImGrundeein"proofofprinciple"inklusiveeinigerzusätzlicherR-Funktionenfür ArcGIS Anwendungen

    31/36

  • RPyGeo

    Führt ArcGIS GeoprozessierunginRaus

    Ruft ArcGIS nichtdirektaufsonderngeneriertPythonCode,derwiederumvonArcGIS ausgeführtwird

    LäuftnurunterWindows(wieArcGIS)

    ImGrundeein"proofofprinciple"inklusiveeinigerzusätzlicherR-Funktionenfür ArcGIS Anwendungen

    Wenigerzuverlässigals RSAGA aufgrundderoftunverständlichen/unglücklichen ArcGIS Fehlermeldungen

    31/36

  • RPyGeoDieArbeitsumgebungistin rpygeo.env festgelegtundkannmit rpygeo.build.env()modifiziertwerden.

    $modules[1]"arcgisscripting"

    $init[1]"gp=arcgisscripting.create()"

    $workspaceNULL

    $cellsizeNULL

    $extentNULL

    $maskNULL

    $overwriteoutput[1]0

    $extensionsNULL

    $python.path[1]"C:\\software\\Python24"

    $python.command[1]"python.exe"

    32/36

  • RPyGeoBeispiel:AbleitungvonHangneigung,HangausrichtungundKrümmungeinesHöhenmodells( dem )ineinerFunktion

    #AllowArcGIStooverwriteexistingdatasets:rpygeo.env$overwriteoutput=1

    rpygeo.geoprocessor("Slope_sa('dem','slope')","Aspect_sa('dem','aspect')","Hillshade_sa('dem','hshd')")

    Bemerkungen

    Dasdurch rpygeo.geoprocessor() erstelltePythonSkript,welchesden ArcGISworkspaceerstelltunddieErweiterungenaktiviert,machtdieFunktionrelativineffizient

    JedochspartmanerheblichZeit,danichtzwischendreiAnwendungen( ArcGIS , Python , R )undzweiProgrammiersprachen( Python & R )gewechseltwerdenmuss

    33/36

  • 6.Zusammenfassung

  • Zusammenfassung(RalsGIS/GISIntegration)

    Pro

    RkannalseigenesGISverwendetwerden( raster , sp , sf , rgeos , rgdal )

    35/36

  • Zusammenfassung(RalsGIS/GISIntegration)

    Pro

    RkannalseigenesGISverwendetwerden( raster , sp , sf , rgeos , rgdal )

    ReproduzierbareArbeitsweisedurch'Skripting'

    35/36

  • Zusammenfassung(RalsGIS/GISIntegration)

    Pro

    RkannalseigenesGISverwendetwerden( raster , sp , sf , rgeos , rgdal )

    ReproduzierbareArbeitsweisedurch'Skripting'

    IntegrationvonGeoalgorithmenverschiedensterGISSystememöglich

    35/36

  • Zusammenfassung(RalsGIS/GISIntegration)

    Pro

    RkannalseigenesGISverwendetwerden( raster , sp , sf , rgeos , rgdal )

    ReproduzierbareArbeitsweisedurch'Skripting'

    IntegrationvonGeoalgorithmenverschiedensterGISSystememöglich

    ZusätzlicheFunktionenallerGISIntegrationspaketeinR,welcheArbeitsschritteerleichtern

    Con

    EffizienzverlustbeiderProzessierung,daintegrierteAlgorithmennurindirektangesprochenwerdenkönnen

    35/36

  • Zusammenfassung(RalsGIS/GISIntegration)

    Pro

    RkannalseigenesGISverwendetwerden( raster , sp , sf , rgeos , rgdal )

    ReproduzierbareArbeitsweisedurch'Skripting'

    IntegrationvonGeoalgorithmenverschiedensterGISSystememöglich

    ZusätzlicheFunktionenallerGISIntegrationspaketeinR,welcheArbeitsschritteerleichtern

    Con

    EffizienzverlustbeiderProzessierung,daintegrierteAlgorithmennurindirektangesprochenwerdenkönnen

    ProblematikbeiqualitativerDatenkorrektur/inspektion(Stichwort:GUI)

    35/36

  • ContactTwitter:@pjs_228

    Web:https://pat-s.github.io

    Folienhttps://pat-s.github.io/talk/AK-TQMG-2017/

    Erstelltmitxaringanundpräsentiertmitpdfpc.

    36/36

    https://twitter.com/pjs_228https://pat-s.github.io/https://pat-s.github.io/talk/AK-TQMG-2017/https://github.com/yihui/xaringanhttps://github.com/pdfpc/pdfpc