wt_profile parameter passthrough to
route_dodgr within the main route()
function.rnet_group() conditional on the
igraph package being installed.length(n_segments) > 1
(#560)rnet_join() (now recommended over
rnet_merge()) and line_segment() (#552)line_segment() now will use
rsgeo::line_segmentize() if availableline_segment() becomes an S3 generic which now has
methods for sf and sfc class objectsline_segment() now works around {rsgeo} issue
with line_segmentize() returning fewer segments than
requested (#552)urlchecker::check_urls()line_midpoint():
comparison of output with sf::st_point_on_surface()rnet_merge() and related changes, new
contributor Zhao Wangline_segment() is now vectorised (#518)dodgr (#494)sp, rgeos and
rgdal (#332)sp objects and associated packages will be
dropped (#332)line_segment_sf() (#482)route() now runs batch routing when input is a
linestring and opentripplanner is installed (#459)route() checks the CRS and gives an appropriate warning
if it is projectedline_via() now have correct CRScalc_catchment() have been deprecated because the
generate warningsroute() function: it silently
failed when pbapply not installed. The package was promoted
from Suggests to Imports (#460)styler package, code in
stplanr now adheres to a consistent style (using arrow
<- assignment despite the maintainer’s default of equals
= assignment - many = had been introduced
accidentally!)rnet_group() groups route network elements
(#403)overline() now converts MULTILINESTRING
geometries to LINESTRINGS automaticallysum_network_routes() now
returns a linestring for routes that start where they end (i.e. no
travel) (#444)route_local() fixed: the l
argument now works (#448)route_osrm() function (#449)rnet_breakup_vertices() is now way faster, thanks to
Andrea Gilardi and others (#416)rnet_group() is now a generic function that works with
sfNetwork objects (#455)route_osrm() provides easy access to multi-modal
routing (#449)route() function’s calculation of bbox
attributes fixed (#452)line_breakup() breaks-up lines (#434)sf objects for toptail_buff()line2points() on some set-ups fixed
(#418)mapshape(), line_match() and
gclip() functions deprecated, maintained alternatives can
now be found in other packages.sp objects updated for latest version of
sp (#364)sf objects updated to support more recent CRS encoding
(#393)od_aggregate(),
onewayid(), gtfs2sldf(), and
od_radiation() have been removedmapsapi
package (#410)quiet argument in overline() makes it
less chattyroute() failed when data.table not
installed (#408)SpatialLinesNetwork() fixed thanks to Andrea
Gilardi (#394)start and end arguments in short
path calculations are numericdodgr removed as Suggests until it’s back on CRAN
(#398)dplyr code to prevent warnings when using
the dev version (#395)route() allowing you to save a list of
raw outputs and use data.table for faster performance if
availableroute_rolling_*() functions have been
added:
route_rolling_gradient() calculates a rolling gradient
from elevation and distance data at the segment levelroute_rolling_average() calculates the rolling average
of valuesroute_rolling_diff() calculates the rolling difference
between each value and the nextgeo_toptail() function now has sf
implementation (#390)cl argument in route() for parallel
routing (#388)od_data_sample in
different ways: od_data_lines and
od_data_routesroute_graphhopper() deprecated (#389)sp and dplyr
code, sp_aggregate and od_aggregate, have been
deprecatedroute_slope*() functionsroute() function calls when
pbapply was not installed has been fixed (#386)oneway() has been deprecated in favour of faster and
easier-to-maintain function od_oneway() (also see the
in-development od package) (#387)dplyr (#383)route_graphhopper() should now work with a local
graphhopper instance. See https://github.com/ropensci/stplanr/pull/369line2route() function now works with routing
functions that return sf objectsroute() function is now more resilient,
providing a progress bar if you have pbapply package
installed, returning a result even if some routes failed, and telling
you which routes failedreadr,
openxlsx and lubridate removedbuff_geo() removeddestination now works again as an argument in
line2route() (#368)overline() now accepts sf objects
regardless of the name of the geometry columnline2points() now works with sfc objects
(#361)od2line() fails due to
non-matching idsod2line() in the vignette: https://docs.ropensci.org/stplanr/articles/stplanr-od.html#non-matching-idsroute_split(),
rnet_add_node() and sln_add_node() for adding
new nodes to routes, route networks and sfNetwork objects,
closing #342line2points()line_to_points() function removed in favour of
line2point().sln_clean_graph() removes unconnected
elements of sfNetwork objects. Credit to Andrea Gilardi.
See (#344).rnet_breakup_vertices() and
line2vertices() for breaking up linestrings representing
route networks into smaller segments, in preparation for routing. See
(#282) (which these functions address) and PR (#347) for details.route_dodgr() and associated examples fixed
(#348)line_to_points() depreciated in favour of
od2line(), the latter function name being more consistent
with the package’s other functionsline2pointsn() now works with sf
objectsstplanr-od vignette,
thanks to Edward Leighod_to_odmatrix() and
odmatrix_to_od() to convert between matrix forms of
origin-destination dataod_oneway() replaces
onewayid(), works better and is twice as fastod_id*() functions provide a range of ways to
convert origin-destination pair IDs into a single ID. See Stackoverflow
and the issue
trackerstplanr-od
provides detailed documentation on the package’s OD data handling
capabilitiesod_aggregate_from() and
od_aggregate_to() provide easy ways to aggregate
origin-destination pairs. See #303.overline2() is now faster and better documented
(#307)route_dodgr() function, which provides an
interface to the dodgr package, accepts
wider range of inputssf method for overline() has been
updated so it calls the much faster overline2()
functionroute_local()sum_network_routes() fixed. See #267dl_stats19() are depreciated.
They have been split-out into the new package stats19route_dodgr() has now been implementedoverline2() has been added, thanks to
Malcolm Morgan. This is faster than overline().od functions, a new
stplanr::od_coords2line() function, and more support of
sfroute_dodgr() has been addedosm_net_example, has been added
for local routing purposes.citation("stplanr")@maelle:
https://ropensci.github.io/stplanr/route_graphhopper() has been fixed, see
https://github.com/ropensci/stplanr/pull/297dplyr [0.8.0]: https://github.com/ropensci/stplanr/pull/275install.packages() installs suggested packages by
defaultroute_local()line2route(): time_sleep
waits a period between each route requestdl_stats19(), see #270line_via() for identifying intermediary
points on a transport networkSpatialLinesNetwork() fixed (see #249)geo_length() returns numeric vector of
line lengths from sp or sf
objects.?route_graphhopper no longer mentions the depreciated
‘bike2’ profile - see #246?route_osrm mentions that the public API only routes
for cars - see #246introducing-stplanr vignette to show new
function and make more robustsf::st_length(), used in
SpatialLinesNetwork().sfNetwork objects: now
only plots the geometry by default.SpatialLinesNetwork() and
plot() for spatial networks.sum_network_routes() fixed (see #240).library(stplanr), making it less tied to
sp. This is a continuation of the work to support
sf and will make it easier for the package to work with
alternative representations of geographic data.geo_select_aeq.sf() was fixed by Jakub Nowosad
in pull #238od_aggregate.sf() was fixed making it
much fastergeo_bb() supercedes
bb2poly(). The new function can return polygons, points and
matrix objects determined by the output argument. It also
allows bounding boxes to be extended in metres, and scaled in x and y
dimensions.geo_code() now uses nominatim by default to find
locations on the maps.od_coords() takes a wide range of input
data types to return a consistent output representing OD data as a data
frame of origin and destination coordinates. This is used behind the
scenes to make other functions more modular.Plans for the next release
route() function for routing. This is more
flexible and user-friendly than the existing line2route()
and route_*() functions it enhances.route_cyclestreet() now also called (correctly)
route_cyclestreets()geo_code() function replaces dependency on
RGoogleMapsgoogle_dist() fixedcombinations added to
sum_network_routes() so it runs quicker - see pull/177.sum_network_routes(),
weightfield() and find_network_nodes() - see
e.g. example(sum_network_routes) for details.l_poly added.SpatialLinesNetwork() fixed._each() dplyr functions
replaced with equivalent _at or _all
functions.vignette("stplanr-paper") for details.introducing-stplanr
vignette has been updated. It now provides a more basic introduction for
people new to R for spatial and transport data.line2route() has been refactored to improve error
detection and allow n_processes arguments. Thanks @nikolai-b. See pull/151 for
details.line_match() function added, a wrapper around
rgeos::gDistance(), to find similar routes.od_aggregate() and
sp_aggregate() have been added, to enable
OD data to be aggregated to new geographic levels.#141 fixed: viaroute() works again.bidirectional = TRUE returns a different result in
line_bearing() now.onewayid() is now a generic function, meaning it can
handle spatial and non-spatial dataline2route() allow you to
specify variables to join-by - also has updated and more sensible
defaultsod_id_order() to put origin-destination
ids in order, to identify 2 way duplicates (split out from
onewayid())route_cyclestreet() leading
change_elev and av_incline being wrong now
fixedNEW FEATURES
od2line(). See
example(od2line) for an example.destinations for showing how OD matrix with
destinations can be converted to spatial datalist_output allows the route information
to be saved as a list, allowing save_raw = TRUE (which does
not return a Spatial object) to be passed to the
route_ function.BUG FIXES
line2route() (#124) fixedNEW FEATURES
New function reproject() is a simple wrapper around
spTransform() that uses crs_select_aeq() to
convert a spatial object in geographic (lat/lon) coordinates into on
with projected coordinates, with units of 1 m. This is useful for
various spatial operations, such as finding the length and area of an
object.
Implement gprojected(), a function for performing
GIS operations on a temporary, projected, version of spatial
objects.
Addition of line_bearing() to return the bearing of
lines based on start and end points.
Addition of angle_diff() for finding the angular
difference between lines: are they roughly parallel or
perpendicular?
BUG FIXES
line2df() now works on lines with multiple vertices
and is faster.
Fixes in the examples used to illustrate how
od_dist() works.
NEW FEATURES
Update to OSRM functions to support API v5.
New parameter byvars in the overline()
function, to allow disaggregation of results by a grouping variable (see
example(overline)).
Faster implementation of od2line():
od2line2(). Plan is to replace the original if no issues
are found with new implementation.
New function od2odf() which converts OD data into a
dataframe of origins and destinations (feeds od2line2() but
also useful as self-standing function).
New argument new_proj in buff_geo()
allows the results to be exported to any coordinate reference system
(CRS).
New function gprojected() generalises concept of
buff_geo(), building on crs_select_aeq() to
allow any GIS query to be conducted on a temporary projected version of
spatial objects with geographical CRSs.
New function od_dist() can quickly calculate
Euclidean distances of OD pairs without converting to spatial
objects.
BUG FIXES
Bug fix in onewayid() so it captures all
lines.
Various improvements to documentation and code.
NEW FEATURES
Interface to the Google Distance Matrix
API with dist_google.
New transport planning API added, with
route_transportapi_public (for testing).
Update to line2route, allowing it to accept
different routing funtions via the new argument route_fun
(for testing - tested with
route_fun = route_cyclestreet).
New functions for creating origin-destination data frames
(point2odf) and SpatialLinesDataFrames
(points2flow).
Addition of n_vertices and is_linepoint
for identifying the number of vertices in spatial objects and whether
the ‘line’ is really a point.
BUG FIXES
line2route refactored, with 10 fold speed increases on
large (1000+) batches of lines.NEW FEATURES
Addition of new class definition
SpatialLinesNetwork, methods for plot and
summary and functions calc_network_routes and
find_network_nodes allowing fast route calculations via
igraph and other network analysis functions.
Functions for removing beginning and end of lines:
toptail and toptailgs. Helper functions
buff_geo, crs_select_aeq and
line2points added.
Functionality for reading in the UK’s stats19 data:
read_stats19_* functions download, unzip and re-categorise
the data.
read_table functions added for reading Australian OD
data.
decode_gl added to decode Google polylines and other
functions for querying and reading data from OSRM services.
gtfs2sldf added to import GTFS routes as
SpatialLinesDataFrames.