Learn R Programming

move (version 1.1.424)

corridor: Corridor

Description

Corridor identifies movement track segments whose attributes suggest corridor use behavior

Usage

## S3 method for class '.MoveTrackSingle':
corridor(x,speedProp=.75, circProp=.25, plot=FALSE, ...)
  ## S3 method for class '.MoveTrackStack':
corridor(x,speedProp=.75, circProp=.25, plot=FALSE, ...)

Arguments

x
Move or MoveStack
speedProp
numeric between 0 and 1, defines the proportion of speeds which are high enough to be a valid corridor point
circProp
numeric between 0 and 1, defines the proportion of trajectories that are low enough to be a valid corridor point
plot
logical, if TRUE the track is plotted together with dots that indicate corridor points (color scale indicates how many corridor points are near by, less: blue, many: pink)
...
additional arguments like levels and nlevels, see details

Value

  • The function returns a MoveBurst object or a list of MoveBurst objects (if a MoveStack is supplied). The MoveBurst dateframe stores the following information: - segment midpoint - speed - azimuth - pseudo-azimuth - circular variance The object is bursted by the factor that indicates whether a coordinate belongs to a corridor segment or not.

Details

The corridor function uses the attributes of a movement step to identify movement steps that exhibit corridor use behavior. For each segment, the speed and the azimuth are calculated and assigned to the segment midpoint. A circular buffer is created around the midpoint of each segment whose radius is equal to half the segment length. The segment azimuth (180 >= azimuth > -180) is then converted into a new unit (the 'pseudo-azimuth' 0 <= 360).="" subsequent,="" the="" circular="" variance="" of="" pseudo-azimuths="" all="" segment="" midpoints="" that="" fall="" within="" buffer="" are="" calculated.="" this="" identifies="" segments="" near="" parallel="" segments.="" next,="" it="" is="" determined="" whether="" a="" segment's="" speed="" higher="" than="" speedProp (by default the upper 25% speeds) and its circular variance is lower than circProp (by default the lower 25% of all variances). Segment midpoints that meet both of these requirements are considered as a 'corridor' point, all others are considered 'non-corridor' points. Finally, a corridor point is determined to be within a true corridor if within its buffer there are more 'corridor' points than 'non-corridor' points.

References

LaPoint, S., Gallery, P., Wikelski, M. and Kays, R. (2013), Animal Behavior, Cost-based Corridor Models, and Real Corridors. Landscape Ecology. doi:10.1007/s10980-013-9910-0.

Examples

Run this code
load(system.file("extdata", "move.RData", package="move"), .GlobalEnv)
  
  tmp <- corridor(leroy, plot=TRUE)
  head(tmp) #if assigned to a variable, the coordinates are exported
  
  stack <- moveStack(list(leroy[1:400,], ricky[1:500,]))
  stacktmp <- corridor(stack) #working with a stack

Run the code above in your browser using DataLab