9.5 When to use what?
To recommend a single R-GIS interface is hard since the usage depends on personal preferences, the tasks at hand and your familiarity with different GIS software packages which in turn probably depends on your field of study.As mentioned previously, SAGA is especially good at the fast processing of large (high-resolution) raster datasets, and frequently used by hydrologists, climatologists and soil scientists (Conrad et al. 2015).GRASS GIS, on the other hand, is the only GIS presented here supporting a topologically based spatial database which is especially useful for network analyses but also simulation studies (see below).QGIS is much more user-friendly compared to GRASS- and SAGA-GIS, especially for first-time GIS users, and probably the most popular open-source GIS.Therefore, RQGIS is an appropriate choice for most use cases.Its main advantages are
- A unified access to several GIS, and therefore the provision of >1000 geoalgorithms (Table 9.1).This includes duplicated functionality, e.g., you can perform overlay-operations using QGIS-, SAGA- or GRASS-geoalgorithms.
- The automatic data format conversions.For instance, SAGA uses
.sdat
grid files and GRASS uses its own database format but QGIS will handle the corresponding conversions for you on the fly. - RQGIS can also handle spatial objects residing in R as input for geoalgorithms, and loads QGIS output automatically back into R if desired.
- Its convenience functions to support the access of the online help, R named arguments and automatic default value retrieval.Please note that rgrass7 inspired the latter two features.
By all means, there are use cases when you certainly should use one of the other R-GIS bridges.Though QGIS is the only GIS providing a unified interface to several GIS software packages, it only provides access to a subset of the corresponding third-party geoalgorithms (for more information please refer to Muenchow, Schratz, and Brenning (2017)).Therefore, to use the complete set of SAGA and GRASS functions, stick with RSAGA and rgrass7.When doing so, take advantage of RSAGA’s numerous user-friendly functions.Note also, that RSAGA offers native R functions for geocomputation such asmulti.local.function()
,pick.from.points()
and many more.RSAGA supports much more SAGA versions than (R)QGIS.Finally, if you need topological correct data and/or spatial database management functionality such as multi-user access, we recommend the usage of GRASS.In addition, if you would like to run simulations with the help of a spatial database (Krug, Roura-Pascual, and Richardson 2010), use rgrass7 directly since RQGIS always starts a new GRASS session for each call.
Please note that there are a number of further GIS software packages that have a scripting interface but for which there is no dedicated R package that accesses these: gvSig, OpenJump, Orfeo Toolbox and TauDEM.