| makeCorridor | R Documentation | 
A function to automatically perform the raster arithmetic
necessary to calculate the cost-of-travel for paths with multiple
waypoints, and the predicted cost of taking a detour to any
arbitrary point in the landscape (a 'corridor').
getCosts must have been run before this tool can be used.
makeCorridor(rasters = tempdir(), order, costs = "all", name = NULL)
rasters | 
 One of either a character string or multilayer SpatRaster. 
If character string, it represents the filepath
to the workspace used as   | 
order | 
 A character vector containing the desired path in
order of visited nodes. For example, to visit "A" then "B" then "C" then "A"
the vector would be   | 
costs | 
 A character vector containing any combination of pre-calculated
cost names (e.g. dt for time, dW_l for work using   | 
name | 
 A character vector representing the   | 
Rasters representing cost corridors.
# Generate a DEM
n <- 5
dem <- expand.grid(list(x = 1:(n * 100),
                        y = 1:(n * 100))) / 100
dem <- as.data.table(dem)
dem[, z := 250 * exp(-(x - n/2)^2) + 
      250 * exp(-(y - n/2)^2)]
dem <- rast(dem)
ext(dem) <- c(10000, 20000, 30000, 40000)
crs(dem) <- "+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100 +datum=WGS84"
# Export it so it doesn't just exist on the memory
dir <- tempdir()
writeRaster(dem, paste0(dir,"/DEM.tif"),overwrite=TRUE)
# Import raster, get the grid
dem <- rast(paste0(dir,"/DEM.tif"))
grid <- makeGrid(dem = dem, nx = n, ny = n, sources = TRUE)
# Import the data lying between x = (12000,16000) and y = (32000,36000)
region <- ext(c(12000,16000,32000,36000))
region <- as.polygons(region)
crs(region) <- crs(grid)
# Generate five random points that fall within the region
points <- data.table(ID = 1:5,
                     x = runif(5, ext(region)[1], ext(region)[2]),
                     y = runif(5, ext(region)[3], ext(region)[4]))
                     
# Make a world but limit it to the DEM grid size
defineWorld(source = grid, cut_slope = 0.5, 
            res = res(dem), dir = dir, overwrite=TRUE)
            
# Calculate cost rasters
costRasters  <- getCosts(region, from = points, dir = dir,
                         destination = 'all',
                         polygons = 'center',
                         costs = 'all', costFUN = energyCosts,
                         output = c('object','file'),
                         m = 70, v_max = 1.5, BMR = 76, k = 3.5, s = 0.05, l_s = 1,
                         L = 0.8)
                        
# Calculating the corridors from a list of RasterStacks,
# with path 1 -> 2 -> 4 -> 1 -> 5
corridors <- makeCorridor(rasters = costRasters, order = c(1,2,5,1,4),)
#### Example 2:
# Calculating the corridors from a workspace directory
# with path 1 -> 2 -> 4 -> 1 -> 5
corridors <- makeCorridor(rasters = dir, name = 'points', 
                          order = c(1,2,5,1,4))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.