Learn R Programming

move (version 2.1.0)

corridor: Corridor

Description

Corridor identifies movement track segments whose attributes suggest corridor use behavior

Usage

# S4 method for .MoveTrackSingle
corridor(x,speedProp=.75, circProp=.25, plot=FALSE, ...)
  # S4 method for .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 the pseudo-azimuths of all segment midpoints that fall within the circular buffer are calculated. This identifies segments that are near parallel segments. Next, it is determined whether a segment's speed is 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
# NOT RUN {
data(leroy)  
  tmp <- corridor(leroy, plot=TRUE)
  head(tmp) #if assigned to a variable, the coordinates are exported
  data(fishers)
  stacktmp <- corridor(fishers[c(1:400,sum(n.locs(fishers))-(400:1)),]) #working with a stack
# }

Run the code above in your browser using DataLab