# dodgr_distances: dodgr_distances In dodgr: Distances on Directed Graphs

## Description

Alias for dodgr_dists

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```dodgr_distances( graph, from = NULL, to = NULL, shortest = TRUE, pairwise = FALSE, heap = "BHeap", parallel = TRUE, quiet = TRUE ) ```

## Arguments

 `graph` `data.frame` or equivalent object representing the network graph (see Notes) `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 `FALSE`, calculate distances along the fastest rather than shortest routes (see Notes). `pairwise` If `TRUE`, calculate distances only between the ordered pairs of `from` and `to`. `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'). `parallel` If `TRUE`, perform routing calculation in parallel (see details) `quiet` If `FALSE`, display progress messages on screen.

## Value

square matrix of distances between nodes

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42``` ```# 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) ```

dodgr documentation built on Aug. 8, 2021, 1:06 a.m.