flow.dispersion
computes movement conductance through a flow either, sea
or wind currents. It implements the formula described in Fel<U+00ED>cisimo et al.
2008:
cost.FMGS(wind.direction, wind.speed, target, type = "active")flow.dispersion(x, fun = cost.FMGS, output = "transitionLayer", ...)
A vector or scalar containing wind directions.
A vector or scalar containing wind speeds.
direction of the target cell
Could be either "passive" or "active".In "passive" mode, movement against flow direction is not allowed (deviations from the wind direction higher than 90). In "active" mode, the movement can go against flow direction, by increasing the cost.
RasterStack object with layers obtained from wind2raster function ("rWind" package) with direction and speed flow values.
A function to compute the cost to move between cells. The default
is cost.FMGS
from Felic<U+00ED>simo et al. (2008), see details.
This argument allows to select different kinds of output. "raw" mode creates a matrix (class "dgCMatrix") with transition costs between all cells in the raster. "transitionLayer" creates a TransitionLayer object with conductance values to be used with "gdistance" package.
Further arguments passed to or from other methods.
In "transitionLayer" output, the function returns conductance values (1/cost)to move between all cells in a raster having into account flow speed and direction obtained from wind.fit function("rWind" package). As wind or sea currents implies directionality, flow.dispersion produces an anisotropic conductance matrix (asymmetric). Conductance values are used later to built a TransitionLayer object from "gdistance" package.
In "raw" output, flow.dispersion creates a sparse Matrix with cost values.
Cost=(1/Speed)*(HorizontalFactor)
being HorizontalFactor a "function that incrementally penalized angular deviations from the wind direction" (Felic<U+00ED>simo et al. 2008).
Felic<U+00ED>simo, <U+00C1>. M., Mu<U+00F1>oz, J., & Gonz<U+00E1>lez-Solis, J. (2008). Ocean surface winds drive dynamics of transoceanic aerial movements. PLoS One, 3(8), e2928.
Jacob van Etten (2017). R Package gdistance: Distances and Routes on Geographical Grids. Journal of Statistical Software, 76(13), 1-21. doi:10.18637/jss.v076.i13
# NOT RUN {
require(gdistance)
data(wind.data)
wind <- wind2raster(wind.data)
Conductance <- flow.dispersion(wind, type = "passive")
transitionMatrix(Conductance)
image(transitionMatrix(Conductance))
# }
Run the code above in your browser using DataLab