
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)
A SpatialPoints*
object, or matrix of coordinates.
Either a Raster*
, Extent
, or bbox
object
defining bounds to wrap around.
logical. If TRUE
, the previous points must be wrapped
also so that the subsequent heading calculation will work.
Default FALSE
. See details.
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.
# NOT RUN {
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)
}
# }
Run the code above in your browser using DataLab