dodgr_distances
Alias for dodgr_dists
dodgr_distances( graph, from = NULL, to = NULL, shortest = TRUE, pairwise = FALSE, heap = "BHeap", parallel = TRUE, quiet = TRUE )
graph |
|
from |
Vector or matrix of points from which route distances are to be calculated (see Notes) |
to |
Vector or matrix of points to which route distances are to be calculated (see Notes) |
shortest |
If |
pairwise |
If |
heap |
Type of heap to use in priority queue. Options include
Fibonacci Heap (default; |
parallel |
If |
quiet |
If |
square matrix of distances between nodes
Other distances:
dodgr_dists_categorical()
,
dodgr_dists()
,
dodgr_flows_aggregate()
,
dodgr_flows_disperse()
,
dodgr_flows_si()
,
dodgr_isochrones()
,
dodgr_isodists()
,
dodgr_isoverts()
,
dodgr_paths()
,
dodgr_times()
# A simple graph graph <- data.frame (from = c ("A", "B", "B", "B", "C", "C", "D", "D"), to = c ("B", "A", "C", "D", "B", "D", "C", "A"), d = c (1, 2, 1, 3, 2, 1, 2, 1)) dodgr_dists (graph) # A larger example from the included [hampi()] data. graph <- weight_streetnet (hampi) from <- sample (graph$from_id, size = 100) to <- sample (graph$to_id, size = 50) d <- dodgr_dists (graph, from = from, to = to) # d is a 100-by-50 matrix of distances between `from` and `to` ## Not run: # a more complex street network example, thanks to @chrijo; see # https://github.com/ATFutures/dodgr/issues/47 xy <- rbind (c (7.005994, 51.45774), # limbeckerplatz 1 essen germany c (7.012874, 51.45041)) # hauptbahnhof essen germany xy <- data.frame (lon = xy [, 1], lat = xy [, 2]) essen <- dodgr_streetnet (pts = xy, expand = 0.2, quiet = FALSE) graph <- weight_streetnet (essen, wt_profile = "foot") d <- dodgr_dists (graph, from = xy, to = xy) # First reason why this does not work is because the graph has multiple, # disconnected components. table (graph$component) # reduce to largest connected component, which is always number 1 graph <- graph [which (graph$component == 1), ] d <- dodgr_dists (graph, from = xy, to = xy) # should work, but even then note that table (essen$level) # There are parts of the network on different building levels (because of # shopping malls and the like). These may or may not be connected, so it may # be necessary to filter out particular levels index <- which (! (essen$level == "-1" | essen$level == "1")) # for example library (sf) # needed for following sub-select operation essen <- essen [index, ] graph <- weight_streetnet (essen, wt_profile = "foot") graph <- graph [which (graph$component == 1), ] d <- dodgr_dists (graph, from = xy, to = xy) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.