Construct Lacework Detector Design
A lacework design comprises a square grid with detectors placed at regular distances along the grid lines (Efford unpubl.). This requires fewer detectors than uniform coverage at close spacing and is simpler than clustered designs, while providing good spatial coverage and protection from alignment bias (Efford 2019).
make.lacework(region, spacing = c(100, 20), times = NULL, origin = NULL, rotate = 0, radius = NULL, detector = "multi", keep.design = TRUE)
region |
dataframe or SpatialPolygonsDataFrame with coordinates of perimeter |
spacing |
numeric 2-vector with major (grid) and minor spacings, or minor spacing only |
times |
numeric ratio major:minor spacing if spacing length 1 |
origin |
numeric vector giving x- and y-cooordinates of fixed grid origin (origin is otherwise random) |
rotate |
numeric; number of degrees by which to rotate design clockwise about centroid of region bounding box |
radius |
numeric; detectors are dropped if they are further than this from a crossing |
detector |
character detector type – see |
keep.design |
logical; if TRUE then input argument values are retained |
If region
is a SpatialPolygonsDataFrame then function elide
from the package maptools is used for rotation. If rotation is requested when maptools is not available then no rotation is done and a warning is raised.
It is tidy for the major spacing (spacing[1]
) to be a multiple of the minor spacing (spacing[2]
); precisely one detector is then placed at each grid intersection. This outcome may also be achieved by providing only the minor spacing in the spacing
argument and specifying an integer value for times
.
In general it is better not to specify origin
. Specifying both origin
and rotate
may result in incomplete coverage, as the desired grid is relative to the bounding box of the rotated region.
Set radius
< spacing[1]/2 to break lacework into multiple cross-shaped arrays centred on the intersections (crossing points) and truncated at radius
metres (assuming you follow advice and express all linear measurements in metres).
An secr traps object. The attribute ‘crossings’ is a 2-column matrix with the coordinates of the intersection points. If keep.design
is TRUE then the input argument values are retained in attribute ‘design’ (a list with first component function = 'make.lacework'
).
Efford, M. G. (2019) Non-circular home ranges and the estimation of population density. Ecology 100, e02580. https://esajournals.onlinelibrary.wiley.com/doi/10.1002/ecy.2580
trps <- make.lacework(possumarea, c(1000,100), rotate = 45, detector = 'proximity') plot(trps, gridspace = 1000) lines(possumarea) points(attr(trps, 'crossings'), pch = 16)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.