rescale_classic.RdRescale inputs to prepare data for habitat mask to be used.
rescale_classic(X, ext, s.st, site, hab_mask)Either a matrix or array representing the coordinates of traps in UTMs. An array is used when traps are clustered over a survey area.
An Extent object from the raster package. This is
returned from grid_classic.
A matrix of starting activity center coordinates. This is
returned from initialize_classic.
Either NULL (if a 2D trap array is used) or a vector of
integers denoting which trap array an individual (either detected or
augmented) belongs to. Note that site is provided from
sim_classic when a 3D trap array is used. However, this
site variable must be correctly augmented based on the total
augmented population size (i.e., M).
A matrix or arary output from mask_polygon or
mask_raster functions.
X Rescaled trap coordinates
ext Rescaled Extent object from the raster package.
s.st A matrix of rescaled starting activity center coordinates.
This function is only meant to be used when habitat masking is
incorporated into the model. The functions properly rescales inputs based on
the dimensions of the habitat mask. Note that the pixelWidth needs to
be included as an input in the model after inputs are rescaled to correctly
estimate the scaling parameter (i.e., 'sigma').
# simulate a single trap array with random positional noise
x <- seq(-800, 800, length.out = 5)
y <- seq(-800, 800, length.out = 5)
traps <- as.matrix(expand.grid(x = x, y = y))
# add some random noise to locations
traps <- traps + runif(prod(dim(traps)),-20,20)
mysigma = 300 # simulate sigma of 300 m
mycrs = 32608 # EPSG for WGS 84 / UTM zone 8N
# create grid
Grid = grid_classic(X = traps, crs_ = mycrs, buff = 3*mysigma, res = 100)
# create polygon to use as a mask
library(sf)
poly = st_sfc(st_polygon(x=list(matrix(c(-1765,-1765,1730,-1650,1600,1650,
0,1350,-800,1700,-1850,1000,-1765,-1765),ncol=2, byrow=TRUE))), crs = mycrs)
# make simple plot
par(mfrow=c(1,1))
plot(Grid$grid, pch=20)
points(traps, col="blue",pch=20)
plot(poly, add=TRUE)
# create habitat mask
hab_mask = mask_polygon(poly = poly, grid = Grid$grid, crs_ = mycrs,
prev_mask = NULL)
# simulate SCR data
data3d = sim_classic(X = traps, ext = Grid$ext, crs_ = mycrs,
sigma_ = mysigma, prop_sex = 1, N = 200, K = 4, base_encounter = 0.25,
enc_dist = "binomial", hab_mask = hab_mask, setSeed = 50)
# generate initial activity center coordinates for 2D trap array without
#habitat mask
s.st3d = initialize_classic(y=data3d$y, M=500, X=traps, ext=Grid$ext,
hab_mask = hab_mask)
# build rescaled constants list for 2D trap array
constList = rescale_classic(X = traps, ext = Grid$ext, s.st = s.st3d,
site = NULL, hab_mask = hab_mask)
# inspect list
str(constList)
#> List of 3
#> $ X : num [1:25, 1:2] 8.92 13.15 16.79 20.81 24.83 ...
#> ..- attr(*, "dimnames")=List of 2
#> .. ..$ : NULL
#> .. ..$ : chr [1:2] "x" "y"
#> $ ext :Formal class 'Extent' [package "raster"] with 4 slots
#> .. ..@ xmin: num 0
#> .. ..@ xmax: num 34
#> .. ..@ ymin: num 0
#> .. ..@ ymax: num 34
#> $ s.st: num [1:500, 1:2] 18.39 9.05 24.84 18.98 20.99 ...