This function thins a dataset so that only observations that have a distance from each other greater than "dist_min" in space and "interval_min" in time are retained.
thin_by_dist_time(
data,
dist_min,
interval_min,
coords = NULL,
time_col = "time",
lubridate_fun = c
)An object of class sf::sf or data.frame, the same as "data".
An sf::sf data frame, or a data frame with coordinate variables.
These can be defined in coords, unless they have standard names
(see details below).
Minimum distance between points (in units appropriate for the projection, or meters for lonlat data).
Minimum time interval between points, in days.
A vector of length two giving the names of the "x" and "y"
coordinates, as found in data. If left to NULL, the function will
try to guess the columns based on standard names c("x", "y"), c("X","Y"),
c("longitude", "latitude"), or c("lon", "lat")
The name of the column with time; if time is not a lubridate object,
use lubridate_fun to provide a function that can be used to convert appropriately
function to convert the time column into a lubridate object
Geographic distances are measured in the appropriate units for the projection used. In case
of raw latitude and longitude (e.g. as provided in a data.frame), the crs is set
to WGS84, and units are set to meters. Time interval are estimated in days. Note that for
very long time period, the simple conversion x years = 365 * x days might lead
to slightly shorter intervals than expected, as it ignores leap years. The function
y2d() provides a closer approximation.
This function an algorithm analogous to spThin, with the exception that
neighbours are defined in terms of both space and time.