build_polys | R Documentation |
build_polys
generates a simple feature collection with POLYGONs from a
data.table
. The function accepts a data.table
with
relocation data, individual identifiers, a projection,
home range type and parameters. The relocation
data is transformed into POLYGONs using either adehabitatHR::mcp or
adehabitatHR::kernelUD for each individual and, optionally,
combination of columns listed in splitBy
. Relocation data should be in two
columns representing the X and Y coordinates.
build_polys(
DT = NULL,
projection = NULL,
hrType = NULL,
hrParams = NULL,
id = NULL,
coords = NULL,
splitBy = NULL,
spPts = NULL
)
DT |
input data.table |
projection |
numeric or character defining the coordinate reference
system to be passed to sf::st_crs. For example, either
|
hrType |
type of HR estimation, either 'mcp' or 'kernel' |
hrParams |
a named list of parameters for |
id |
Character string of ID column name |
coords |
Character vector of X coordinate and Y coordinate column names |
splitBy |
(optional) character string or vector of grouping column name(s) upon which the grouping will be calculated |
spPts |
alternatively, provide solely a SpatialPointsDataFrame with one column representing the ID of each point, as specified by adehabitatHR::mcp or adehabitatHR::kernelUD |
group_polys uses build_polys
for grouping overlapping
polygons created from relocations.
Please note, spatsoc has followed updates from R spatial, GDAL and PROJ for handling projections, see more below and details at https://r-spatial.org/r/2020/03/17/wkt.html.
In addition, build_polys
previously used sp::SpatialPoints but has been
updated to use sf::st_as_sf according to the R-spatial evolution, see more
at https://r-spatial.org/r/2022/04/12/evolution.html.
The DT
must be a data.table
. If your data is a data.frame
, you can
convert it by reference using data.table::setDT.
The id
, coords
(and optional splitBy
) arguments
expect the names of respective columns in DT
which correspond
to the individual identifier, X and Y coordinates, and additional
grouping columns.
The projection
argument expects a character string or numeric
defining the coordinate reference system to be passed to sf::st_crs.
For example, for UTM zone 36S (EPSG 32736), the projection
argument is projection = "EPSG:32736"
or projection = 32736
.
See https://spatialreference.org
for a list of EPSG codes.
The hrType
must be either one of "kernel" or "mcp". The
hrParams
must be a named list of arguments matching those
of adehabitatHR::kernelUD and adehabitatHR::getverticeshr
or adehabitatHR::mcp.
The splitBy
argument offers further control building
POLYGONs. If in your DT
, you have multiple
temporal groups (e.g.: years) for example, you can provide the
name of the column which identifies them and build POLYGONs
for each individual in each year.
build_polys
returns a simple feature collection with POLYGONs
for each individual (and optionally splitBy
combination).
An error is returned when hrParams
do not match the arguments
of the respective hrType
adehabitatHR
function.
group_polys
Other Build functions:
build_lines()
# Load data.table
library(data.table)
# Read example data
DT <- fread(system.file("extdata", "DT.csv", package = "spatsoc"))
# Cast the character column to POSIXct
DT[, datetime := as.POSIXct(datetime, tz = 'UTC')]
# EPSG code for example data
utm <- 32736
# Build polygons for each individual using kernelUD and getverticeshr
build_polys(DT, projection = utm, hrType = 'kernel',
hrParams = list(grid = 60, percent = 95),
id = 'ID', coords = c('X', 'Y'))
# Build polygons for each individual by year
DT[, yr := year(datetime)]
build_polys(DT, projection = utm, hrType = 'mcp',
hrParams = list(percent = 95),
id = 'ID', coords = c('X', 'Y'), splitBy = 'yr')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.