Calculate point estimates based on antenna bearing and signal strength.

locate(
  data,
  ID = "tagDeployID",
  ts = "ts",
  sig = "sig",
  aLon = "recvDeployLon",
  aLat = "recvDeployLat",
  aType = NULL,
  aBearing = "antBearing",
  aRange = 12,
  dTime = 2
)

Arguments

data

A data.frame containing the telemetry data.

ID

Unique identifier for individuals or tag deployments.

ts

Timestamp column.

sig

Signal strength column.

aLon

Antenna longitude column.

aLat

Antenna latitude column.

aType

Antenna type column, only required for antenna-specific detection ranges.

aBearing

Antenna bearing column.

aRange

Assumed maximum detection range of antennas in kilometres. Can be a single value or a named list of values for different antenna types.

dTime

Time interval in minutes for which point estimates are to be calculated.

Value

Returns a data.frame containing estimated coordinates and measurement errors for each time interval together with the proportions of time intervals w.

Details

This function performs the following steps as described in Baldwin et al. 2018:

  • Estimate locations for each detection: half of the maximum detection range aRange along the directional beam.

  • Derive oscillating measurement error arising from antenna geometry and orientation.

  • Calculate weighted means (by signal strength) for each time interval dTime.

Examples

if (FALSE) {
data(motusData)
locate(motusData)
locate(motusData, dTime = 1, aRange = 10)
locate(motusData, aType = "antType", aRange = list("yagi-5"=10, "yagi-6"=12))
}