Generally useful for model development purposes.
wrap(X, bounds, withHeading) # S4 method for matrix,Extent,missing wrap(X, bounds) # S4 method for SpatialPoints,ANY,missing wrap(X, bounds) # S4 method for matrix,Raster,missing wrap(X, bounds) # S4 method for matrix,Raster,missing wrap(X, bounds) # S4 method for matrix,matrix,missing wrap(X, bounds) # S4 method for SpatialPointsDataFrame,Extent,logical wrap(X, bounds, withHeading) # S4 method for SpatialPointsDataFrame,Raster,logical wrap(X, bounds, withHeading) # S4 method for SpatialPointsDataFrame,matrix,logical wrap(X, bounds, withHeading)
X | A |
---|---|
bounds | Either a |
withHeading | logical. If |
Object of the same class as X
, but with coordinates updated to
reflect the wrapping.
If withHeading
used, then X
must be a SpatialPointsDataFrame
that contains two columns, x1
and y1
, with the immediately
previous agent locations.
library(raster) library(quickPlot) xrange <- yrange <- c(-50, 50) hab <- raster(extent(c(xrange, yrange))) hab[] <- 0 # initialize agents N <- 10 # previous points x1 <- rep(0, N) y1 <- rep(0, N) # initial points starts <- cbind(x = stats::runif(N, xrange[1], xrange[2]), y = stats::runif(N, yrange[1], yrange[2])) # create the agent object agent <- SpatialPointsDataFrame(coords = starts, data = data.frame(x1, y1)) ln <- rlnorm(N, 1, 0.02) # log normal step length sd <- 30 # could be specified globally in params if (interactive()) { clearPlot() Plot(hab, zero.color = "white", axes = "L") } for (i in 1:10) { agent <- crw(agent = agent, extent = extent(hab), stepLength = ln, stddev = sd, lonlat = FALSE, torus = TRUE) if (interactive()) Plot(agent, addTo = "hab", axes = TRUE) }