Calculate isodistance or isochrone contours from specified points.
Source:R/iso.R
dodgr_isoverts.Rd
Returns lists of all network vertices contained within the contours. Function
is fully vectorized to calculate accept vectors of central points and vectors
defining multiple isochrone thresholds. Provide one or more dlim
values for
isodistances, or one or more tlim
values for isochrones.
Arguments
- graph
data.frame
or equivalent object representing the network graph. Fordodgr
street networks, this must be a network derived from silicate ("sc") data, generated with weight_streetnet. This function does not work with networks derived from sf data.- from
Vector or matrix of points from which isodistances or isochrones are to be calculated.
- dlim
Vector of desired limits of isodistances in metres.
- tlim
Vector of desired limits of isochrones in seconds
- heap
Type of heap to use in priority queue. Options include Fibonacci Heap (default;
FHeap
), Binary Heap (BHeap
), Trinomial Heap (TriHeap
), Extended Trinomial Heap (TriHeapExt
, and 2-3 Heap (Heap23
).
Value
A single data.frame
of vertex IDs, with columns denoting the from
points and tlim
value(s). The isochrones are given as id
values and
associated coordinates of the series of points from each from
point at the
specified isochrone times.
Isoverts are calculated by default using parallel computation with the
maximal number of available cores or threads. This number can be reduced by
specifying a value via RcppParallel::setThreadOptions (numThreads = <desired_number>)
.
See also
Other distances:
dodgr_distances()
,
dodgr_dists()
,
dodgr_dists_categorical()
,
dodgr_dists_nearest()
,
dodgr_flows_aggregate()
,
dodgr_flows_disperse()
,
dodgr_flows_si()
,
dodgr_isochrones()
,
dodgr_isodists()
,
dodgr_paths()
,
dodgr_times()
Examples
if (FALSE) { # \dontrun{
# Use osmdata package to extract 'SC'-format data:
library (osmdata)
dat <- opq ("hampi india") %>%
add_osm_feature (key = "highway") %>%
osmdata_sc ()
graph <- weight_streetnet (dat)
from <- sample (graph$.vx0, size = 100)
tlim <- c (5, 10, 20, 30, 60) * 60 # times in seconds
x <- dodgr_isoverts (graph, from = from, tlim)
} # }