osmdata package to extract the street network for a given
location. For routing between a given set of points (passed as
bbox argument may be omitted, in which case a bounding box will
be constructed by expanding the range of
pts by the relative amount of
Bounding box as vector or matrix of coordinates, or location
name. Passed to
List of points presumably containing spatial coordinates
Relative factor by which street network should extend beyond
limits defined by pts (only if
A Simple Features (
sf) object with coordinates of all lines in
the street network.
Calls to this function may return "General overpass server error" with a note that "Query timed out." The overpass served used to access the data has a sophisticated queueing system which prioritises requests that are likely to require little time. These timeout errors can thus generally not be circumvented by changing "timeout" options on the HTTP requests, and should rather be interpreted to indicate that a request is too large, and may need to be refined, or somehow broken up into smaller queries.
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
## Not run: streetnet <- dodgr_streetnet ("hampi india", expand = 0) # convert to form needed for `dodgr` functions: graph <- weight_streetnet (streetnet) nrow (graph) # around 5,900 edges # Alternative ways of extracting street networks by using a small selection # of graph vertices to define bounding box: verts <- dodgr_vertices (graph) verts <- verts [sample (nrow (verts), size = 200), ] streetnet <- dodgr_streetnet (pts = verts, expand = 0) graph <- weight_streetnet (streetnet) nrow (graph) # This will generally have many more rows because most street networks # include streets that extend considerably beyond the specified bounding box. # bbox can also be a polygon: bb <- osmdata::getbb ("gent belgium") # rectangular bbox nrow (dodgr_streetnet (bbox = bb)) # around 30,000 bb <- osmdata::getbb ("gent belgium", format_out = "polygon") nrow (dodgr_streetnet (bbox = bb)) # around 17,000 # The latter has fewer rows because only edges within polygon are returned # Example with access restrictions bbox <- c (-122.2935, 47.62663, -122.28, 47.63289) x <- dodgr_streetnet_sc (bbox) net <- weight_streetnet (x, keep_cols = "access, turn_penalty = TRUE) # has many streets with "access" = "private; these can be removed like this: net2 <- net [which (!net$access != "private"), ] # or modified in some other way such as strongly penalizing use of those # streets: index <- which (net$access == "private") net$time_weighted [index] <- net$time_weighted [index] * 100 ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.