# movenetw: R function for calculating least-cost path network In movecost: Calculation of Slope-Dependant Accumulated Cost Surface, Least-Cost Paths, Least-Cost Corridors, Least-Cost Networks Related to Human Movement Across the Landscape

 movenetw R Documentation

## R function for calculating least-cost path network

### Description

The function provides the facility to calculate LCPs between multiple origins. Two types of networks are produced: one where each origin location is connected to all the others locations; one where only pairs of neighboring locations are connected. In other words, in the latter case, each location is connected to the location that is the nearest in terms of walking cost, either in terms of time or energy (or abstract cost), according to the selected cost function. Optionally, a raster representing the density of the first type of network can be produced.
Visit this LINK to access the package's vignette.

### Usage

``````movenetw(
dtm = NULL,
origin,
netw.type = "allpairs",
studyplot = NULL,
barrier = NULL,
plot.barrier = FALSE,
irregular.dtm = FALSE,
funct = "t",
move = 16,
field = 0,
cogn.slp = FALSE,
sl.crit = 10,
W = 70,
L = 0,
N = 1,
V = 1.2,
z = 9,
lcp.dens = FALSE,
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` locations from which the network of least-cost paths is calculated (SpatialPointsDataFrame class). `netw.type` type of network to be calculated: 'allpairs' (default) or 'neigh' (see 'Details'). `studyplot` polygon (SpatialPolygonDataFrame class) representing the study area for which online elevation data are acquired (see `movecost`); NULL is default. `barrier` area where the movement is inhibited (SpatialLineDataFrame or SpatialPolygonDataFrame class) (see `movecost`). `plot.barrier` TRUE or FALSE (default) if the user wants or does not want the barrier to be plotted (see `movecost`). `irregular.dtm` TRUE or FALSE (default) if the input DTM features irregular margins (see `movecost`). `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; trp uses the Tripcevich'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; e uses the Eastman'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; h uses the Hare's metabolic energy expenditure cost function (for all the mentioned cost functions, see `movecost`). `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). `field` value assigned to the cells coinciding with the barrier (0 by default) (see `movecost`. `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`). `lcp.dens` TRUE or FALSE (default) if the user wants or does not want the least-cost paths density raster to be produced. `transp` set the transparency of the slopeshade raster that is plotted over the DTM (0.5 by default). `export` TRUE or FALSE (default) if the user wants or does not want the LCPs network to be exported as a shapefile, and the LCPs network density as a GeoTiff; the DTM is exported only if it was not provided by the user and downloaded by the function from online sources.

### Details

Like `movecost()`, the function just requires an input DTM ('RasterLayer' class) and an origin dataset ('SpatialPointsDataFrame' class). If a DTM is not provided, `movenetw()` downloads elevation data from online sources for the area enclosed by the polygon fed via the `studyplot` parameter (see `movecost` for more details). Under the hood, `movenetw()` relies on `movecost()` and implements the same cost functions: see the help documentation of `movecost()` for further information.

`movenetw()` produces a plot representing the input DTM overlaid by a slopeshade raster, whose transparency can be adjusted using the `transp` parameter. On the rendered plot, the LPCs network ('SpatialLinesDataFrame' class) is represented by black lines. To calculate the network connecting all the locations, the user may want to set the `netw.type` parameter to `allpairs` (which is the default value). If the user wants to calculate the network connecting neighbouring locations, the `netw.type` parameter is to be set to `neigh`. Optionally, by setting the `lcp.dens` parameter to `TRUE`, the function produces a raster representing the density of the LCPs connecting each location to all the other locations. The raster, which is rendered overlaid to a slopeshade visualization, expresses the density of LCPs as percentages. The percentages are calculated in relation to the maximum number of LCPs passing through the same cell stored in the raster. A density raster expressing counts is NOT rendered BUT is returned by the function. The density raster retains the cell size and coordinate system of the input DTM.

The function returns a list storing the DTM (only in case this has not been fed into the function but acquired online), a list of LCPs split by origin, a SpatialLineDataFrame representing the merged LCPs, two rasters representing the LCPs network density expressed as counts and percentages respectively, and cost matrices. As for the latter, if the selected cost function defines cost as walking time, two matrices are returned, one expressing time in minutes, one in hours (note that the values are in decimal format). If the selected cost function expresses cost differently (i.e., energy or abstract cost), the two above mentioned cost matrices will be set to NULL, and a third cost matrix will store all the pair-wise costs.

The above mentioned data (DTM, LCPs, network density) can be exported by setting the `export` parameter to `TRUE`. The LCPs network (exported as a shapefile) and the density raster (as a GeoTiff) will bear a suffix indicating the used cost function.

### Value

The function returns a list storing the following components

• dtm: Digital Terrain Model ('RasterLayer' class); returned only if acquired online

• LCPs.netw: list containing the LCPs ('SpatialLinesDataFrame' class) split by origin

• LCPs.netw.merged: 'SpatialLinesDataFrame' corresponding to the merged LCPs

• LCPs.netw.neigh: list containing the LCPs between neighboring locations ('SpatialLinesDataFrame' class) split by origin

• LCPs.netw.merged: 'SpatialLinesDataFrame' corresponding to the merged LCPs between neighboring locations

• LCPs.density.count: raster ('RasterLayer' class) representing the counts of LCPs on each raster's cell

• LCPs.density.perc: same as the preceding, but re-expressing the counts as percentages

• cost.matrix.min: matrix of cost between locations, expressing cost in minutes

• cost.matrix.hr: matrix of cost between locations, expressing cost in hours

• cost.matrix: matrix of cost between locations, expressing cost either in energy or abstract cost, depending on the used cost function

### See Also

`movecost`

### Examples

``````# load a sample Digital Terrain Model
data(volc)

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

# calculate the least-cost path network between neighboring locations
# using the Tobler's hiking function (for on-path walking)

result <- movenetw(dtm=volc, origin=destin.loc, move=8, funct="t", netw.type="neigh")

``````

movecost documentation built on April 12, 2023, 12:37 p.m.