importWorld | R Documentation |
A function that for a given region imports all cells from the
transition .fst
files. If such files have not yet been generated,
they can be created by passing along the necessary parameters to this
function as with calculateCosts
.
importWorld(
region,
banned = NULL,
dir = tempdir(),
vars = NULL,
costFUN = energyCosts,
...
)
region |
An object of class SpatRraster, Raster* or SpatialPolygons* representing the total area where movement is possible. |
banned |
An object of class Raster* or SpatialPolygons*
representing the total area where movement is prohibited. Must lie within
the area defined by |
dir |
A filepath to the directory being used as the workspace, the same
one instantiated with |
vars |
The variable names to import. |
costFUN |
A cost function such as ( |
... |
Additional arguments to pass to |
The default parameters are sufficient for a workflow involving calculating
costs with the energyCosts
function. However, if
non-energetic analyses are desired, the user must define their own.
An object of class data.table containing at least three columns:
(1) $from
, a character string of all possible origin cells in format "x,y",
(2) $to
, a character string of all possible destination cells in format "x,y"
(3+) a numeric representing the imported costs(s)
# 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)
# Select all tiles that exist between x = (12000,16000) and y = (32000,36000)
tiles <- ext(c(12000,16000,32000,36000))
tiles <- as.polygons(tiles)
crs(tiles) <- crs(grid)
tiles <- whichTiles(region = tiles, polys = grid)
#' # 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)
# Make a world but limit it to the DEM grid size
world <- importWorld(grid[8,], dir = dir, vars = 'dE_l', costFUN = energyCosts,
m = 70, v_max = 1.5, BMR = 76, k = 3.5, s = 0.05, l_s = 1,
L = 0.8)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.