library(raster)
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()) Plot(hab, zero.color = "white", new = TRUE, axes = "L")
for(i in 1:10) {
agent <- SpaDES::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