dodgr_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.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 @agila5add_nodes_to_graph
with "sc" networks (#217, thanks to @diegoteca)pairwise
parameter added to dodgr_dists_categorical
(#201)dodgr_dists_nearest()
(#203)weight_streenet()
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 = TRUE
weight_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_categorical
dodgr_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$penalties
dodgr_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 numeric
dodgr_centrality
function, and associated helper functions.dodgr_flows_si
functionnorm_sums
to dodgr_flows_aggregate
merge_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_disperse
dodgr_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_penalty
hampi
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_cycles
dodgr_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_sfc
igraph_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 svg
dodgr_dists (heap = "set")
with integer distancesdodgr_to_igraph
weight_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 from
stplanr::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_profiles
weighting_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.frame
s, 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.