Geospatial Modelling Environment

movement.ssfsamples (Generate Step Selection Function Sample Steps)

Generates step selection function (SSF) sampled steps from telemetry locations


This tool generates sampled steps along a movement path and is designed to faciliate the developement of step selection function (SSF) models (Fortin et al. 2005). Given an observed movement path (e.g. using GPS telemetry collar data), an SSF model characterizes the relative probability of selecting a step based on a set of covariates. It is a use versus availability design in which each observed step is compared to a sample of available steps at each point along the movement path. A ‘step’ in this context refers to the straight line that connects two consecutive locations. The model does not assume that animals move in a straight line between consecutive locations, only that the environmental characteristics along that line are correlated with the likelihood of moving to that destination point.

The sampled steps are generated by drawing from an observed (or perhaps theoretical) step length and turning angle distributions. These can either be empirical (essentially binned frequency distributions based on observed movement paths), or fitted statistical distributions such as the wrapped Cauchy distribution for turning angles, or the gamma distribution for step lengths. Please refer to the section ‘Specifying statistical and empirical distributions’ for detailed instructions on how to specify distributions. If you specify an empirical distribution that represents turn angles in radians then you must also set the radians=TRUE option. If you fail to do this the values will be interpreted as degrees and your sampled steps will turn very little.

The unique ID field and the order field must currently both be integers. The order field is required because geodatabases can return records in a random order. So this tool sorts the locations in ascending order based on this field, which should therefore represent the chronological sequence in the time series.

The ‘include’ parameter controls whether the observed step is included in the output file or not. It is suggested that you set this to TRUE, because merging the sampled and observed steps at a later time can be tedious. Note that when TRUE, an additional field called ‘OBSERVED’ is added to the output table to distinguish the real observed steps (1) from the simulated sampled steps (0). This field is needed in the statistical analysis.


Fortin, D., Beyer, H. L., Boyce, M. S., Smith, D. W., Duchesne, T. & Mao, J. S. 2005. Wolves influence elk movements: behavior shapes a trophic cascade in Yellowstone National Park. Ecology 86: 1320-1330.


movement.ssfsamples(in, uidfield, order, tad, sld, nsamples, out, [include], [radians], [where]);

inthe input location time-series data (a point feature source)
uidfieldthe name of the unique ID field in the input data source (unique for each input point; must be integer)
orderthe name of the chronological ordering field in the input data source (must be integer)
tadthe turn angle distribution (see full help documentation for details)
sldthe step length distribution (see full help documentation for details))
nsamplesthe number of sampled steps to generate at each observed location (see full help documentation for details)
outthe output line data source to create
[include](TRUE/FALSE) specifies whether the observed step is included in the output (default=FALSE)
[radians](TRUE/FALSE) specifies whether the turn angle distribution is in radians (default=FALSE)
[where]the selection statement that will be applied to the point feature data source to identify a subset of points to process (see full Help documentation for further details)


movement.ssfsamples(in=”C:datatelemetry.shp”, uidfield=”PNTUID”, order=”SEQID”, tad=”C:dataturns.csv”, sld=”C:datasteps.csv”, nsamples=10, out=”C:datassfsamples.shp”, include=TRUE, where=”ANIMALID=1012″);

movement.ssfsamples(in=”C:datatelemetry.shp”, uidfield=”PNTUID”, order=”SEQID”, tad=”C:dataturns.csv”, sld=”C:datasteps.csv”, nsamples=20, out=”C:datassfsamples.shp”, include=TRUE, where=”ANIMALID=1012″, radians=TRUE);

movement.ssfsamples(in=”C:datatelemetry.shp”, uidfield=”PNTUID”, order=”SEQID”, tad=c(“WRAPPEDCAUCHY”,0,0.3), sld=c(“EXPONENTIAL”,0.0015), nsamples=20, out=”C:datassfsamples.shp”, radians=TRUE, where=”ANIMALID=1012″);


Please consider making a purchase to support the continued development of these tools  Read more...

Tips on how to use this interface efficiently 


Open Source GIS

Copyright © 2001-2014 Hawthorne L. Beyer, Ph.D., Spatial Ecology LLC    Connect on LinkedIn