movealloc: R function for calculating slope-dependant walking-cost...

Description Usage Arguments Details Value See Also Examples

Description

The function provides the facility to carry out a cost allocation analysis. Given a number of origin locations, a cost allocation raster is produced; each cell of the cost allocation raster is given an integer indicating to which origin a cell is closer in terms of cost. Needless to say, the cost can be conceptualized in terms of either walking time or energy expenditure, and is function of the terrain slope.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
movealloc(
  dtm = NULL,
  origin,
  studyplot = NULL,
  funct = "t",
  time = "h",
  move = 16,
  cogn.slp = FALSE,
  sl.crit = 10,
  W = 70,
  L = 0,
  N = 1,
  V = 1.2,
  z = 9,
  isolines = FALSE,
  breaks = NULL,
  cont.lab = TRUE,
  cex.breaks = 0.6,
  leg.alloc = FALSE,
  leg.pos = "topright",
  cex.leg = 0.75,
  transp = 0.5,
  export = FALSE
)

Arguments

dtm

Digital Terrain Model (RasterLayer class); if not provided, elevation data will be acquired online for the area enclosed by the 'studyplot' parameter (see movecost).

origin

location(s) in relation to which the cost allocation is carried out (SpatialPointsDataFrame class).

studyplot

polygon (SpatialPolygonDataFrame class) representing the study area for which online elevation data are aquired (see movecost); NULL is default.

funct

cost function to be used (for details on each of the following, see movecost):

-functions expressing cost as walking time-
t (default) uses the on-path Tobler's hiking function;
tofp uses the off-path Tobler's hiking function;
mp uses the Marquez-Perez et al.'s modified Tobler's function;
icmonp uses the Irmischer-Clarke's hiking function (male, on-path);
icmoffp uses the Irmischer-Clarke's hiking function (male, off-path);
icfonp uses the Irmischer-Clarke's hiking function (female, on-path);
icfoffp uses the Irmischer-Clarke's hiking function (female, off-path);
ug uses the Uriarte Gonzalez's walking-time cost function;
ma uses the Marin Arroyo's walking-time cost function;
alb uses the Alberti's Tobler hiking function modified for pastoral foraging excursions;
gkrs uses the Garmy, Kaddouri, Rozenblat, and Schneider's hiking function;
r uses the Rees' hiking function;
ks uses the Kondo-Seino's hiking function;

-functions for wheeled-vehicles-
wcs uses the wheeled-vehicle critical slope cost function;

-functions expressing abstract cost-
ree uses the relative energetic expenditure cost function;
b uses the Bellavia's cost function;

-functions expressing cost as metabolic energy expenditure-
p uses the Pandolf et al.'s metabolic energy expenditure cost function;
pcf uses the Pandolf et al.'s cost function with correction factor for downhill movements;
m uses the Minetti et al.'s metabolic energy expenditure cost function;
hrz uses the Herzog's metabolic energy expenditure cost function;
vl uses the Van Leusen's metabolic energy expenditure cost function;
ls uses the Llobera-Sluckin's metabolic energy expenditure cost function;
a uses the Ardigo et al.'s metabolic energy expenditure cost function (for all the mentioned cost functions, see Details);

time

time-unit expressed by the isoline(s) if Tobler's and other time-related cost functions are used; 'h' for hour, 'm' for minutes.

move

number of directions in which cells are connected: 4 (rook's case), 8 (queen's case), 16 (knight and one-cell queen moves; default).

cogn.slp

TRUE or FALSE (default) if the user wants or does not want the 'cognitive slope' to be used in place of the real slope (see movecost).

sl.crit

critical slope (in percent), typically in the range 8-16 (10 by default) (used by the wheeled-vehicle cost function; see movecost).

W

walker's body weight (in Kg; 70 by default; used by the Pandolf's and Van Leusen's cost function; see movecost).

L

carried load weight (in Kg; 0 by default; used by the Pandolf's and Van Leusen's cost function; see movecost).

N

coefficient representing ease of movement (1 by default) (see movecost).

V

speed in m/s (1.2 by default) (used by the Pandolf et al.'s, Pandolf et al.s with correction factor, Van Leusen's, and Ardigo et al.'s cost function; if set to 0, it is internally worked out on the basis of Tobler on-path hiking function (see movecost).

z

zoom level for the elevation data downloaded from online sources (from 0 to 15; 9 by default) (see movecost and get_elev_raster).

isolines

TRUE or FALSE (default) is the user wants or does not want cost isolines/contours around the origins to be calculated and plotted.

breaks

contours' (i.e., isolines') interval; if no value is supplied, the interval is set by default to 1/10 of the range of values of the cost surface accumulated around the origins.

cont.lab

if set to TRUE (default) display the labels of the cost contours.

cex.breaks

set the size of the labels attached to the cost contours (0.6 by default).

leg.alloc

if set to TRUE, display the legend in the plotted cost allocation raster; FALSE by default.

leg.pos

set the position of the legend in the plotted cost allocation raster; 'topright' by default (other options: "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "center").

cex.leg

set the size of the labels used in the legend displayed in the plotted allocation raster (0.75 by default).

transp

set the transparency of the hillshade raster that is plotted over the cost allocation raster (0.5 by default).

export

TRUE or FALSE (default) if the user wants or does not want the output to be exported; if TRUE, the isolines (i.e. the contours) and the allocation boundaries will be exported as a shapefile; the cost allocation raster will be exported as 'GeoTiff'; the DTM is exported only if it was not provided by the user and downloaded by the function from online sources; all the exported files (excluding the DTM) will bear a suffix corresponding to the cost function selected by the user.

Details

The function requires an input DTM ('RasterLayer' class) and a dataset ('SpatialPointsDataFrame' class) containing the origin locations. If a DTM is not provided, 'movealloc()' will download elevation data from online sources (see movecost for more details). Under the hood, 'movealloc()' relies on the 'movecost()' function and implements the same cost functions: see the help documentation of 'movecost()' for further information.

Internally, what 'movealloc()' does is producing an accumulated cost surface around each individual origin location; those accumulated cost surfaces are then stacked together, and then the function looks at each pixel in the stack of surfaces and returns 1 if the first stacked surface has the smallest pixel value, or 2 if the second stacked surface has the smallest pixel value, and so on for bigger stacks.

'movealloc()' produces a plot featuring an hillshade image that is overlaid by the cost allocation raster and by a polygon layer where each polygon represents the limits of each allocation zone. A legend can be optionally added to the plot via the 'leg.alloc' parameter (FALSE by default). Isolines (i.e., contour lines) around each origin location can be optionally plotted via the 'isolines' parameter (FALSE by default).

The DTM, the cost allocation raster, the cost allocation polygons, and the isolines (if requested by the user by setting the 'isolines' parameter to TRUE), can be exported by setting the 'export' parameter to TRUE. All the exported files (excluding the DTM) will bear a suffix corresponding to the cost function selected by the user.

Value

The function returns a list storing the following components

See Also

movecost

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# load a sample Digital Terrain Model
volc <- raster::raster(system.file("external/maungawhau.grd", package="gdistance"))


# load the sample locations on the above DTM
data(destin.loc)


#carry out a cost allocation analysis using the Tobler's off-path hiking function,
#setting the time to minutes and the isolines (i.e., contours) interval to 1 minute;
#only 3 locations are used

#result <- movealloc(dtm=volc, origin=destin.loc[c(3,7,9),], funct="tofp", time="m",
#breaks=1, isolines=TRUE)


#same as above, using all the locations and the Kondo-Seino's cost function

#result <- movealloc(dtm=volc, origin=destin.loc, funct="ks", time="m",
#breaks=1, isolines=TRUE)

movecost documentation built on Sept. 13, 2021, 1:06 a.m.