## ----echo = FALSE, results = "hide", message = F, warning = F----------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>", message = FALSE, warning = FALSE) library(knitr) ## ----out.width = "80%", echo=FALSE, fig.cap="Figure 1: Hillshade RBSF DEM"---- include_graphics('dem.png') ## ----collapse=TRUE, eval = FALSE---------------------------------------------- # env <- rsaga.env() ## ----results = "hide", eval = FALSE------------------------------------------- # rsaga.geoprocessor(lib = "ta_morphometry", module = "Slope, Aspect, Curvature", # param = list(ELEVATION = file.path(getwd(), "dem.sgrd"), # SLOPE = file.path(getwd(), "slope.sgrd")), # env = env) ## ----results = "hide", eval = FALSE------------------------------------------- # rsaga.slope(in.dem = "dem", out.slope = "slope", env = env) ## ----eval = FALSE------------------------------------------------------------- # help(rsaga.slope) ## ----results = "hide", eval = FALSE------------------------------------------- # # A character string of available libraries: # rsaga.get.libraries(path = env$modules) # # # A list of modules in a library: # rsaga.get.modules(libs = "ta_morphometry", env = env) ## ----results = "hide", eval=FALSE--------------------------------------------- # rsaga.get.usage(lib = "ta_morphometry", module = "Slope, Aspect, Curvature", env = env) # # # Compare module parameters between versions: # rsaga.get.usage(lib = "ta_morphometry", module = "Slope, Aspect, Curvature", # env = rsaga.env(path = "C:/SAGA-GIS/saga_2.1.0_x64")) # # rsaga.get.usage(lib = "ta_morphometry", module = "Slope, Aspect, Curvature", # env = rsaga.env(path = "C:/SAGA-GIS/saga_2.2.0_x64")) ## ----------------------------------------------------------------------------- data(landslides) data(dem) data(study_area) ## ----eval = FALSE------------------------------------------------------------- # write.sgrd(data = dem, file = "dem", header = dem$header, # env = env) # write.sgrd and read.sgrd use SAGA, and should specify 'env' ## ----eval = FALSE------------------------------------------------------------- # write.ascii.grid(data = dem, file = "dem", header = dem$header) ## ----eval = FALSE------------------------------------------------------------- # rsaga.slope(in.dem = "C:/InData/dem", out.slope = "C:/OutData/slope", env = env) ## ----collapse = TRUE, results = "hide", warning = FALSE, eval = FALSE--------- # # By individual function calls: # rsaga.slope("dem", "slope", method = "poly2zevenbergen", env = env) # rsaga.plan.curvature("dem", "cplan", method = "poly2zevenbergen", env = env) # rsaga.profile.curvature("dem", "cprof", method = "poly2zevenbergen", env = env) # # # By one function that calculates each of the terrain parameters: # rsaga.slope.asp.curv("dem", out.slope = "slope", # out.cprof = "cprof", out.cplan = "cplan", # method = "poly2zevenbergen", # env = env) ## ----collapse = TRUE, results = "hide", eval = FALSE-------------------------- # rsaga.topdown.processing("dem", out.carea = "carea", method = "mfd", env = env) ## ----collapse = TRUE, results = "hide", eval = FALSE-------------------------- # rsaga.grid.calculus(in.grids = "carea", out.grid = "log10_carea", # formula = ~ log(a), env = env) ## ----eval = FALSE------------------------------------------------------------- # # Pick grid values; add to landslides data.frame: # landslides <- pick.from.saga.grid(landslides, "slope", varname = "slope", env = env, # X.name = "x", Y.name = "y") # landslides <- pick.from.saga.grid(landslides, "cprof", varname = "cprof", env = env, # X.name = "x", Y.name = "y") # landslides <- pick.from.saga.grid(landslides, "cplan", varname = "cplan", env = env, # X.name = "x", Y.name = "y") # landslides <- pick.from.saga.grid(landslides, "carea", varname = "carea", env = env, # X.name = "x", Y.name = "y") ## ----out.width = "80%", echo=FALSE, fig.cap="Figure 2: Terrain variables a) slope; b) plan curvature; c) profile curvature; d) logarithm of contributing area"---- include_graphics("terrain_variables.png") ## ----results = "hide", eval = FALSE------------------------------------------- # rsaga.sgrd.to.esri(in.sgrds = c("slope", "cprof", "cplan", "carea"), # out.grids = c("slope", "cprof", "cplan", "carea"), # out.path = getwd(), format = "ascii", env = env) ## ----eval = FALSE------------------------------------------------------------- # my.trafo <- function(x) { # x$log.carea <- log10(x$carea) # return(x) # } # # landslides <- my.trafo(landslides) ## ----eval = FALSE------------------------------------------------------------- # library(gam) # # fit <- gam(lslpts ~ s(slope) + cprof + s(cplan) + s(log.carea), # data = landslides, family = binomial) # # multi.local.function(in.grids = c("slope", "cprof", "cplan", "carea"), # in.varnames = c("slope", "cprof", "cplan", "carea"), # out.varnames = "lsl_pred", # fun = grid.predict, # control.predict = list(type = "response"), # trafo = my.trafo, # fit = fit) ## ----out.width = "80%", echo=FALSE, fig.cap="Figure 3: Landslide probability prediction grid"---- include_graphics("lslpred.png")