- Added Andrea Gilardi (@agila5) as contributor
weight_streetnet
now raises a warning (instead of an error) in case the inputsf
object has mixed geometry types instead of onlyLINESTRING
. The function filters only the geometries havingLINESTRING
type (#246, thanks to @agila5).- Pre-pend class structure of
dodgr_streetnet
objects todata.frame
, rather than append; thanks to @agila5 (#244). - Fix bug in graph contraction that left duplicated edges (#236, thanks to @Robinlovelace).
- Fix minor bug in de-duplication discovered via #236.
- Update documentation for
weight_streetnet
; #245 thanks to @agila5 - Update documentation for "from" and "to" parameters of dists and other fns; #254 thanks to @luukvdmeer
dodgr_flows_aggregate()
now has apairwise
parameter, to enable flows to be aggregated only along paths connecting each pair offrom
andto
points. Thanks to @chinhqho via #229- Update
igraph::get.edgelist
->as_edgelist
(#229) to suppress warnings from igraph conversion functions. - Minor tweak to bundled src/concaveman to remove CRAN warning from new gcc 14.x (#235)
- Transfer repository from 'atfutures/dodgr' -> 'urbananalyst/dodgr'
- Added new vignette on isodists and isochrone functions (#255)
- Implemented new 'concavity' parameter for isodistance, isochrone fns (#223, thanks to @pasipasi123).
- Fix bug in
add_nodes_to_graph
with "sc" networks (#217, thanks to @diegoteca) - Fix bug in Tobler cost function for effect of slopes on walking times (#219, thanks to @xtimbeau).
- New
pairwise
parameter added tododgr_dists_categorical
(#201) - New function:
dodgr_dists_nearest()
(#203) - Updated
weight_streenet()
function forwt_profile="bicycle"
to return many more bicycle-relevant columns (#207). - Fix major bug in categorical dists routines that gave wrong values (#201; thanks to @xiaofanliang)
- Fix bug in
add_nodes_to_graph
, #103 - Add 2 new parameters to
add_nodes_to_graph
, "dist_tol" and "intersections_only" (#103)
- Fix bugs that issued warnings in weight_streetnet.sc if no "lanes" or "junction" columns present.
- Fixed GitHub updates of package website (does not affect CRAN release).
- General documentation updates.
- Minor change to weight_streetnet.sc to suppress dplyr left_join warnings
- Minor fixes to tests.
- Update citation file to match new CRAN requirements (#204).
- Changes to align with new dplyr version (#198; thanks to @DavisVaughan)
- Update broken URL in times vignette.
- Minor bug fix in matching to/from points for routing.
- Minor bug fix with caching contracted graphs
- Minor bug fix matching OSM max speed values for motorcar routing.
- Minor bug fix implements additional check in
dodgr_vertices
to re-calculate if cached vertices don't match current graph. - Allow contra-flow when weighting bicycle networks; otherwise networks can end up unroutable.
- Bug fix in
remove_duplicated_edges()
for SC-class networks.
- Added
nocache
parameter tododgr_contract_graph
, to enable forced re-calculation of contracted graphs (#194) - Fix bug in graph contraction which prevented in picking up additional data columns (#194; thanks to @sriramab)
- Fix bug in caching mechanism which stopped graph conversion routines (like
dodgr_to_sf
) from carrying across extra columns (#194; thanks to @sriramab) - Fix bug in distances when from or to default to all vertices
- Fix weighting networks for motorcars to adhere to OSM "maxspeed" values where those are given, rather than profile values (#193)
- Additional "distances" parameter added to
match_pts_to_graph()
to return geodesic distance to point of edge intersection. - Fixed major bug in centrality calculations on graphs with duplicated edges (#186).
- Added new vignette with instructions on parallel thread control
- New function,
dodgr_deduplicate_graph()
to reduce duplicated edges and insert minimal distances/times (#187) weight_streetnet
function now returns standard graphs even whenturn_penalty = TRUE
; compound junctions are calculated within each function (#190).
- Walking cost function in networks with elevation improved (#124)
- Fixed
weight_streetnet.sc
to respect "bicycle" and "foot" tags for those weighting profiles (#189)
match_pts_to_graph()
renamed tomatch_pts_to_verts()
- New
match_pts_to_graph()
function matches to graph edges, using nearest perpendicular intersection (issue #103)
dodgr_paths
pairwise calculation shifted to C++, thanks to @dcooley
- Fix
dodgr_flowmap
to work on bothsf
andsc
streetnets. - Reformat code using https://github.com/ropensci-review-tools/spaceout
- Minor bug fix matching from/to args of
dodgr_flows_aggregate()
- Bug fix when submitting contracted graphs to flow fns
- Change default value in all
dodgr_flows_
functions fromcontract = FALSE
tocontract = TRUE
- Main parameter of
weight_railway
function renamedsf_lines
->x
(for consistency with all otherweight_
functions). - Default distances for all functions changed to geodesic distances calculated via geodist.
- New
save_dodgr_streetnet
andload_dodgr_streetnet
functions; thanks to idea from @FlxPo - Edge maps used to uncontract graphs now store edges in original order, enabling complex edge sequences such as polygons to be reconstructed (#173).
- Add "Imports: fs" to ensure cache paths work on all (ie windows) machines (#163)
- Implement directional travel in roundabouts on weight_streetnet.sc, thanks to @deanmarchiori (#175).
- Add example code for
dodgr_dists_categorical
- Slightly extend categorical routing vignette
- fix caching bug in dodgr_centrality (#138), thanks to @mem48
- Fix bug with bbox in
dodgr_streetnet
, thanks to @LeshunXu (#174) - Fix bug in src/graph-contract.cpp that led to CRAN warning (
|
->||
)
- Bug fix for
dists_categorical(proportions_only = TRUE)
to ensure all edge types are aggregated (final type was previously not aggregated).
- New
dodgr_dists_categorical
function + accompanying vignette
weight_streetnet
now includes turn restrictions when input data are extracted withdodgr_streetnet_sc
(#136 thanks to @edzer)- Turn restrictions also added as additional column of
weighting_profiles$penalties
dodgr_streetnet_sc()
now extracts many additional features useful for controlling access restrictions (see #159)dodgr_centrality
has newvert_wts
parameter to weight centrality by user-specified weights (#162)
- Bug fix when submitting contracted graphs to dodgr_to_sf (#155 thanks to @agila5)
- Fix (internal) process_bbox function for vector inputs (#156 thanks to @agila5@)
- Bug fix (#142) in
dodgr_flows_disperse()
thanks for @romainFr - Fix
keep_cols
param inweight_streetnet()
; #140 thanks to @agila5 - Return component vector as
integer
notnumeric
- UBSAN Bug fix
- Added new
dodgr_centrality
function, and associated helper functions. - Added new
dodgr_flows_si
function - Added new parameter
norm_sums
tododgr_flows_aggregate
merge_directed_flows
renamed tomerge_directed_graph
, with added option of specifying columns to merge.- Added new
pairwise
parameter tododgr_distances
; see issue #127 - Added new function
dodgr_insert_vertex
to add new vertices to graph; see #40 - Removed "radix" heap option
- switch off examples that caused previous CRAN failures
- fix bug in
dodgr_dists
when number of from points >> number of to points - fix bug in
weight_streetnet.sc
that preventedkeep_cols
from working
- bug fixes from previous versions
- Remove benchmark vignette
- bug fixes in
dodgr_paths
, thanks to @agila5
- Add
dodgr_isochrones
,dodgr_isodistances
, anddodgr_isoverts
functions - Considerable speed-ups for
dodgr_flows_aggregate
anddodgr_flows_disperse
dodgr_flows_disperse
allowsk
to be a vector, with different coefficients for eachfrom
point.- Add "highway:pedestrian" to weighting profiles
weight_streetnet
forsc
objects automatically adds component column- bug fix in
weight_streetnet.sc(..., wt_profile = 1)
- bug fix in
dodgr_full_cycles
forSC
class objects
- Lots of intermediate processes now executed and cached as background
processes (via
callr
package). - new
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 ofgraph
andedge_map
(theedge_map
is cached and re-loaded when needed for graph uncontraction).
- 'turn_angle' parameter of
weight_streetnet
renamed toturn_penalty
- Test coverage now complete (100%)
- Update internal
hampi
data to remove factor columns
- Fix some bugs in max speed calculations for weight_streetnet
- Fix bug with polygonal bbox in dodgr_streetnet()
- New vignette on street networks and time-based routing
weight_streetnet
function now returns edge times for all Open Street Map networks extracted with theosmdata
package.- weight_streetnet now accepts
SC
format data fromosmdata::osmdata_sc()
- New
dodgr_times
function to calculate journey times, including differential speeds and penalties for intersections and traffic lights. dodgr::weighting_profiles
data changed from singledata.frame
to list with additional parameters determining speeds and time penalties fordodgr_times
function; formerdata.frame
is nowdodgr::weighting_profiles$weighting_profiles
.- New function
write_dodgr_wt_profile
writes full profile to local.json
file for editing and subsequent use viaweight_streetnet(wt_profile_file=<local_file_name.json>)
. dodgr_dists()
,dodgr_paths()
, anddodgr_flows()
can no longer be used to automatically download street networks, thus former parameterswt_profile
andexpand
have been removed; networks must be explicitly downloaded withdodgr_streetnet()
.
- Bug fix with dodgr_to_igraph to create proper weighted igraph
- Add "footway" to weighting_profiles
- New functions
dodgr_fundamental_cycles
anddodgr_full_cycles
- New function
dodgr_sflines_to_poly
to convertsf
collections ofLINESTRING
object into corresponding enclosedPOLYGON
objects. - New function
dodgr_to_sf
creates fullsf
objects, extendingdodgr_to_sfc
- New function
igraph_to_dodgr
convertsigraph
objects intododgr
format - New function
dodgr_uncontract_graph
to convert from contracted back into original, uncontracted from, including any additional data appended on to contracted graph.
- Bug fix with vignette caused by updates to
tinytex
rendering ofsvg
- Bug fix for
dodgr_dists (heap = "set")
with integer distances
- New function
dodgr_to_igraph
weight_streetnet
is now a method, with implementations for objects of classes.sf
and.sc
.- New function
weight_railway
to weight a network for railway routing. dodgr_dists
implements Dijkstra paths with std::set sorting through new optiondodgr_dists(..., heap = "set")
(It's slower than others, but good for sake of completeness).
- Various modifications that should result in notable speed gains
dodgr_streetnet
now accepts polygonalbbox
argument, and usesosmdata::trim_osmdata
to trim resultant network to within that polygon (issue #50).- Extended examples for
weight_streetnet
and dodgr_flows_aggregateto include a non-OSM example from
stplanr::routes_fast` (issue #45).
- Crucial fix of previous typo that made all
dodgr_dist
calculations wrong (Earth's radius is 6371, not 3671!) - thanks to @chrijo weight_streetnet
function now acceptsdata.frame
objects definingwt_profile
, enabling modification and direct re-submission ofdodgr::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 additionalpairwise
parameter to enable paths only between matched pairs offrom
andto
points (so returningn
paths rather thann^2
), thanks to @mem48.dodgr_to_sf
deprecated tododgr_to_sfc
(#43)
- Added Malcolm Morgan (@mem48; bug-finder extraordinare) as contributor
- Bug fix with
dodgr_paths
and simpledata.frame
s, thanks to James Smith. - Bug fix of former improper handling of one-way edges, thanks to @chrijo.
match_pts_to_graph
has additionalconnected
parameter to allow points to be matched only to largest connected component.
- New function
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-explicitdodgr
graph into Simple Features (sf
) format.
match_pts_to_graph
now accepts Simple Features (sf) collections ofsfc_POINT
objects to be matched.
Tidy C++ code that flagged errors on CRAN solaris machine. Nothing else.
- New function,
dodgr_paths
, for returning explicit shortest path routes. - New function,
dodgr_flows
, for aggregting flows across a network from multiple origin and destination points. - New function,
merge_directed_flows
, to reduce aggregated directional flows to non-directional equivalent values useful for visualisation.
weight_streetnet
now accepts arbitrarysf
-formatted networks via specification of custom weighting profiles, along with highway type and ID columns in data.frame.- Distance matrices from
dodgr_dists
inherit the names of routing points (from
andto
parameters).
Initial CRAN release.