Skip to contents

Compute a utilisation distribution using the dynamic bivariate Gaussian bridge model, which decomposes movement variance into parallel and orthogonal components relative to the direction of travel.

Usage

mt_dbgb_ud(
  object,
  raster = NULL,
  location_error = NULL,
  margin = 15,
  window_size = 31,
  ext = 0.5,
  dim_size = 100,
  time_step = NULL,
  verbose = TRUE,
  location_error_na = "median",
  ...
)

Arguments

object

One of:

  • A move2 object (single or multi-track, projected CRS).

  • An mt_dbgb_variance object from mt_dbgb_variance().

  • A named list of mt_dbgb_variance objects (multi-track).

raster

A terra::SpatRaster defining the output grid, a numeric cell size in map units, or NULL to auto-compute.

location_error

Per-fix horizontal 1-sigma positional error, in metres. When object is a move2 object, this is forwarded to mt_dbgb_variance() (see that function for the full set of accepted forms: NULL / scalar / vector / column name / "auto"). When object is an mt_dbgb_variance object or a list of them, the default NULL re-uses the per-fix vector stored on each variance object at fit time; supplying an explicit value here overrides it.

margin

Integer (odd). Margin for variance estimation. Only used when object is a move2 object.

window_size

Integer (odd). Window size for variance estimation. Only used when object is a move2 object.

ext

Numeric. Extension factor for the bounding box. Default 0.5.

dim_size

Integer. Cells along the longest dimension. Default 100.

time_step

Numeric or NULL. Integration time step in minutes.

verbose

Logical. Print progress messages for multi-track.

location_error_na

Strategy for filling NAs in a per-fix location_error vector. Forwarded to mt_dbgb_variance() when object is a move2; ignored otherwise (the variance object already carries the imputed vector).

...

Additional arguments passed to methods.

Value

For single-track: a terra::SpatRaster (values sum to 1.0). For multi-track: a multi-layer terra::SpatRaster on a common grid, one named layer per track, each summing to 1.0.

Details

The dBGB UD uses an anisotropic Gaussian kernel at each time step, with the kernel elongated along the direction of travel. This produces narrower UDs along directed segments and wider UDs where movement is more random, better capturing the actual space use of the animal.

References

Kranstauber, B., Safi, K., & Bartumeus, F. (2014). Bivariate Gaussian bridges: directional factorization of diffusion in Brownian bridge models. Movement Ecology, 2(1), 5. doi:10.1186/2051-3933-2-5

See also

mt_dbgb_variance() to compute variance separately, mt_dbbmm_ud() for the isotropic variant.

Examples

if (FALSE) { # \dontrun{
library(move2)
library(sf)

fishers <- mt_read(mt_example())
fishers <- fishers[!st_is_empty(fishers), ]
f1 <- fishers[mt_track_id(fishers) == "F1", ]
f1_proj <- st_transform(f1, mt_aeqd_crs(f1))

ud <- mt_dbgb_ud(f1_proj, location_error = 25,
                  margin = 15, window_size = 31, ext = 0.85)
terra::plot(ud)
} # }