Description Usage Arguments Details Value Author(s) References See Also Examples
Calculate the least-cost distance between points.
1 | costDistance(x, fromCoords, toCoords)
|
x |
object of class |
fromCoords |
first set of point locations (of |
toCoords |
second, optional set of point locations (of |
Cost units between cells are defined as the reciprocal of the values in the transition matrix.
The function uses Dijkstra's algorithm, as implemented in the igraph package.
A projection correction is needed for accuracy in the case of grid data for a longlat raster (see function geoCorrection
).
distance matrix (S3 class dist or matrix)
Jacob van Etten jacobvanetten@yahoo.com
E.W. Dijkstra. 1959. A note on two problems in connexion with graphs. Numerische Mathematik 1, 269-271.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #create a new raster and set all its values to unity.
r <- raster(nrows=18, ncols=36)
r <- setValues(r,runif(ncell(r),0,1))
#create a Transition object from the raster
tr <- transition(r,function(x) 1/mean(x),8)
#asymmetric
ncf <- function(x) max(x) - x[1] + x[2]
tr2 <- transition(r,ncf,8, symm=FALSE)
#create two sets of coordinates
sP1 <- cbind(c(65,5,-65),c(55,35,-35))
sP2 <- cbind(c(50,15,-40),c(80,20,-5))
#from and to identical
costDistance(tr,sP1)
costDistance(tr2,sP1)
#from and to different
costDistance(tr,sP1,sP2)
costDistance(tr2,sP1,sP2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.