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 @RegularnaMatricapairwise parameter to dodgr_times(); thanks to @leoniedu (#314)weight_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.