dodgr_flows_disperse {dodgr} | R Documentation |
Aggregate flows dispersed from each point in a network.
Description
Disperse flows throughout a network based on a input vectors of origin points and associated densities
Usage
dodgr_flows_disperse(
graph,
from,
dens,
k = 500,
contract = TRUE,
heap = "BHeap",
tol = 0.000000000001,
quiet = TRUE
)
Arguments
graph |
|
from |
Vector or matrix of points from which aggregate dispersed flows are to be calculated (see Details) |
dens |
Vectors of densities corresponding to the |
k |
Width coefficient of exponential diffusion function defined as
|
contract |
If |
heap |
Type of heap to use in priority queue. Options include
Fibonacci Heap (default; |
tol |
Relative tolerance below which dispersal is considered to have
finished. This parameter can generally be ignored; if in doubt, its effect
can be removed by setting |
quiet |
If |
Value
Modified version of graph with additional flow
column added.
Note
Spatial Interaction models are often fitted through trialling a range of values of 'k'. The specification above allows fitting multiple values of 'k' to be done with a single call, in a way that is far more efficient than making multiple calls. A matrix of 'k' values may be entered, with each column holding a different vector of values, one for each 'from' point. For a matrix of 'k' values having 'n' columns, the return object will be a modified version in the input 'graph', with an additional 'n' columns, named 'flow1', 'flow2', ... up to 'n'. These columns must be subsequently matched by the user back on to the corresponding columns of the matrix of 'k' values.
See Also
Other distances:
dodgr_distances()
,
dodgr_dists()
,
dodgr_dists_categorical()
,
dodgr_dists_nearest()
,
dodgr_flows_aggregate()
,
dodgr_flows_si()
,
dodgr_isochrones()
,
dodgr_isodists()
,
dodgr_isoverts()
,
dodgr_paths()
,
dodgr_times()
Examples
graph <- weight_streetnet (hampi)
from <- sample (graph$from_id, size = 10)
dens <- rep (1, length (from)) # Uniform densities
graph <- dodgr_flows_disperse (graph, from = from, dens = dens)
# graph then has an additonal 'flows` column of aggregate flows along all
# edges. These flows are directed, and can be aggregated to equivalent
# undirected flows on an equivalent undirected graph with:
graph_undir <- merge_directed_graph (graph)