Description Usage Arguments Details Value Author(s) References
move.contour
function that creates the utilization distribution contours based on the bbmm.contour
from package BBMM and exports the created contour lines as a SpatialLinesDataFrame
or a SpatialPolygonsDataFrame
to a set of shapefiles
for further analysis in ArcMap (or GIS program of choice).
1 2 | move.contour(x, range.subset, le, lev, ras, ts, path, name, lines = FALSE,
crs)
|
x, |
dbbmm object. Currently, I have not included the ability to manipulate the internal dbbmm object within the |
range.subset, |
range of model step segments that the user wants to create the UD contours for. Has to be > the margin based on the dbbmm object as estimates of variance for the first few steps are not estimable depending on how big of a margin is specified. Easiest way to define this range is to use the row number from the input file. |
le, |
location error value for |
lev, |
level of the UD contour as a vector, c(50, 95) that the user is interested in. Will work with multiple values (e.g., c(50, 95)) and will label those values in the resultant shapefile |
ras, |
raster background size for |
ts, |
time step for integration of |
path, |
file path (e.g., "C:/") using standard R path nomenclature specifying the location that the output shapefiles are to be written. |
name, |
file name, in quotation's, specifying the output files name which will be written to the |
lines, |
allows user to select between outputting a shapefile of contour lines or polygons for use in other programs (e.g., ArcMap). Default is FALSE (will export polygons) mainly
because the lines are just lines and don't have any structure associated with them thus ArcMap cannot use zonal statistics on other layers with the lines defining the area. I used R
package |
crs, |
coordinate reference system for identifying where the polygons are located. Uses standard |
This function works pretty well, but to date it is currently pretty limited in functionality as I have several parts of the
brownian.bridge.dyn()
call hard coded in it. As a note, if the time steps are closer together and the extent of the individuals movements is
fairly large relative to the movement steps, that the process slows down considerably and you have to shorten range.subset
value to
a smaller number of segments otherwise memory limits will hit pretty rapidly (this may require some trial and error as I have run >1000 segment steps
in some cases and have been able only get to 20-30 in other runs. I should deprecate this function, but some folks are using it for short daily studies
so I am leaving it in here until then.
As a solution to this issue, try the other function move.forud
which is a function that does the same thing that move.contour()
does,
but as a for
loop that outputs one shapefile at a time, versus doing them in batch. The time it takes to do each method seems to be the same as
the slowness of the process is due to the calculations being done by
brownian.bridge.dyn()
.
There is probably some need to restructure how the raster grid estimation is done as right now it estimates values for each cell, so many (1000s) have really small (1.2E-200)
values that are effectively zero. Probably would benefit from reducing the 'extent' size in the move
object, but I have not gotten around to it yet.
Output is a set of shapefiles, written to the specified path
Bret A. Collier <bret@lsu.edu>
Kranstauber, D., R. Kays, S. D. Lapoint, M. Wikelski, and K. Safi. 2012. A dynamic Brownian bridge movement model to estimate utlization distributions for heterogenous animal movement. Journal of Animal Ecology 81: 738-746. DOI: 10.1111/j.1365-2656.2012.01955.x.
Byrne, M. E., J. C. McCoy, J. Hinton, M. J. Chamberlain, and B. A. Collier. 2014. Using dynamic brownian bridge movement modeling to measure temporal patterns of habitat selection. Journal of Animal Ecology, In Press. DOI: 10.1111/1365-2656.12205
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.