geodist::geodist() is maximal graph
distances are < 100km, otherwise with “haversine”. Distances (and
therefore times) in graphs may differ from values calculated with
previous versions. See #284; thanks to @leoniedudodgr_streetnet_geodesic(), to
force edge distances in weight_streetnet() to use geodesic
distances (more accurate, but slower calculations). See #284; thanks to
@leonieduadd_nodes_to_graph() to properly match all
remaining graph columns; #293 thanks to @leonieduinsert_one_edge; #278
thanks to @leonieduadd_nodes_to_graph() when graph has duplicated
edges; #285 thanks to @leoniedudodgr_to_igraph() now retains “highway” column if
present; #300 thanks to @RegularnaMatricaweight_streetnet now raises a warning (instead of an
error) in case the input sf object has mixed geometry types
instead of only LINESTRING. The function filters only the
geometries having LINESTRING type (#246, thanks to @agila5).dodgr_streetnet objects to
data.frame, rather than append; thanks to @agila5 (#244).weight_streetnet; #245 thanks
to @agila5dodgr_flows_aggregate() now has a pairwise
parameter, to enable flows to be aggregated only along paths connecting
each pair of from and to points. Thanks to
@chinhqho via
#229igraph::get.edgelist ->
as_edgelist (#229) to suppress warnings from igraph
conversion functions.add_nodes_to_graph with “sc” networks (#217,
thanks to @diegoteca)pairwise parameter added to
dodgr_dists_categorical (#201)dodgr_dists_nearest() (#203)weight_streetnet() function for
wt_profile="bicycle" to return many more bicycle-relevant
columns (#207).add_nodes_to_graph, #103add_nodes_to_graph, “dist_tol”
and “intersections_only” (#103)dodgr_vertices to re-calculate if cached vertices don’t
match current graph.remove_duplicated_edges() for SC-class
networks.nocache parameter to
dodgr_contract_graph, to enable forced re-calculation of
contracted graphs (#194)dodgr_to_sf) from carrying across extra columns
(#194; thanks to @sriramab)match_pts_to_graph() to return geodesic distance to point
of edge intersection.dodgr_deduplicate_graph() to reduce
duplicated edges and insert minimal distances/times (#187)weight_streetnet function now returns standard graphs
even when turn_penalty = TRUE; compound junctions are
calculated within each function (#190).weight_streetnet.sc to respect “bicycle” and
“foot” tags for those weighting profiles (#189)match_pts_to_graph() renamed to
match_pts_to_verts()match_pts_to_graph() function matches to graph
edges, using nearest perpendicular intersection (issue #103)dodgr_paths pairwise calculation shifted to C++, thanks
to @dcooleydodgr_flowmap to work on both sf and
sc streetnets.dodgr_flows_aggregate()dodgr_flows_ functions from
contract = FALSE to contract = TRUEweight_railway function renamed
sf_lines -> x (for consistency with all
other weight_ functions).save_dodgr_streetnet and
load_dodgr_streetnet functions; thanks to idea from @FlxPododgr_dists_categoricaldodgr_streetnet, thanks to @LeshunXu (#174)| -> ||)dists_categorical(proportions_only = TRUE)
to ensure all edge types are aggregated (final type was previously not
aggregated).dodgr_dists_categorical function + accompanying
vignetteweight_streetnet now includes turn restrictions when
input data are extracted with dodgr_streetnet_sc (#136
thanks to @edzer)weighting_profiles$penaltiesdodgr_streetnet_sc() now extracts many additional
features useful for controlling access restrictions (see #159)dodgr_centrality has new vert_wts
parameter to weight centrality by user-specified weights (#162)dodgr_flows_disperse() thanks for
@romainFrkeep_cols param in weight_streetnet();
#140 thanks to @agila5integer not
numericdodgr_centrality function, and associated
helper functions.dodgr_flows_si functionnorm_sums to
dodgr_flows_aggregatemerge_directed_flows renamed to
merge_directed_graph, with added option of specifying
columns to merge.pairwise parameter to
dodgr_distances; see issue #127dodgr_insert_vertex to add new
vertices to graph; see #40dodgr_dists when number of from points
>> number of to pointsweight_streetnet.sc that prevented
keep_cols from workingdodgr_paths, thanks to @agila5dodgr_isochrones, dodgr_isodistances,
and dodgr_isoverts functionsdodgr_flows_aggregate and
dodgr_flows_dispersedodgr_flows_disperse allows k to be a
vector, with different coefficients for each from
point.weight_streetnet for sc objects
automatically adds component columnweight_streetnet.sc(..., wt_profile = 1)dodgr_full_cycles for SC class
objectscallr package).dodgr_cache_off function added to suppress primary
caching, for cases where immediate usage is critical.dodgr_contract_graph returns the contracted graph only,
instead of former version which return list of graph and
edge_map (the edge_map is cached and re-loaded
when needed for graph uncontraction).weight_streetnet renamed to
turn_penaltyhampi data to remove factor
columnsweight_streetnet function now returns edge times for
all Open Street Map networks extracted with the osmdata
package.SC format data from
osmdata::osmdata_sc()dodgr_times function to calculate journey times,
including differential speeds and penalties for intersections and
traffic lights.dodgr::weighting_profiles data changed from single
data.frame to list with additional parameters determining
speeds and time penalties for dodgr_times function; former
data.frame is now
dodgr::weighting_profiles$weighting_profiles.write_dodgr_wt_profile writes full profile
to local .json file for editing and subsequent use via
weight_streetnet(wt_profile_file=<local_file_name.json>).dodgr_dists(), dodgr_paths(), and
dodgr_flows() can no longer be used to automatically
download street networks, thus former parameters wt_profile
and expand have been removed; networks must be explicitly
downloaded with dodgr_streetnet().dodgr_fundamental_cycles and
dodgr_full_cyclesdodgr_sflines_to_poly to convert
sf collections of LINESTRING object into
corresponding enclosed POLYGON objects.dodgr_to_sf creates full sf
objects, extending dodgr_to_sfcigraph_to_dodgr converts
igraph objects into dodgr formatdodgr_uncontract_graph to convert from
contracted back into original, uncontracted from, including any
additional data appended on to contracted graph.tinytex
rendering of svgdodgr_dists (heap = "set") with integer
distancesdodgr_to_igraphweight_streetnet is now a method, with implementations
for objects of classes .sf and .sc.weight_railway to weight a network for
railway routing.dodgr_dists implements Dijkstra paths with std::set
sorting through new option dodgr_dists(..., heap = "set")
(It’s slower than others, but good for sake of completeness).dodgr_streetnet now accepts polygonal bbox
argument, and uses osmdata::trim_osmdata to trim resultant
network to within that polygon (issue #50).weight_streetnet and
dodgr_flows_aggregateto include a non-OSM example fromstplanr::routes_fast`
(issue #45).dodgr_dist
calculations wrong (Earth’s radius is 6371, not 3671!) - thanks to @chrijoweight_streetnet function now accepts
data.frame objects defining wt_profile,
enabling modification and direct re-submission of
dodgr::weighting_profilesweighting_profiles$value modified to 0-1 scores rather
than previous percentage values.weight_streetnet flags any highway types not present in
nominated or submitted weighting profile.dodgr_paths now has additional pairwise
parameter to enable paths only between matched pairs of
from and to points (so returning
n paths rather than n^2), thanks to @mem48.dodgr_to_sf deprecated to dodgr_to_sfc
(#43)dodgr_paths and simple
data.frames, thanks to James Smith.match_pts_to_graph has additional
connected parameter to allow points to be matched only to
largest connected component.dodgr_flowmap plots maps of flows.
Currently only writes .png files, because large networks can not be
effectively plotted on graphic devices.dodgr_flows has option to routes flows from a set of
source origins to all points in a network, attenuated by distance from
those origins.dodgr_to_sf converts a spatially-explicit
dodgr graph into Simple Features (sf)
format.match_pts_to_graph now accepts Simple Features (sf)
collections of sfc_POINT objects to be matched.Tidy C++ code that flagged errors on CRAN solaris machine. Nothing else.
dodgr_paths, for returning explicit
shortest path routes.dodgr_flows, for aggregting flows across
a network from multiple origin and destination points.merge_directed_flows, to reduce
aggregated directional flows to non-directional equivalent values useful
for visualisation.weight_streetnet now accepts arbitrary
sf-formatted networks via specification of custom weighting
profiles, along with highway type and ID columns in data.frame.dodgr_dists inherit the names of
routing points (from and to parameters).Initial CRAN release.