- CRAN checks fixed (#563)
- Fixed bug causing errors when
length(n_segments) > 1
(#560)
- Various fixes for
rnet_join()
(now recommended overrnet_merge()
) andline_segment()
(#552) line_segment()
now will usersgeo::line_segmentize()
if availableline_segment()
becomes an S3 generic which now has methods forsf
andsfc
class objectsline_segment()
now works around {rsgeo} issue withline_segmentize()
returning fewer segments than requested (#552)- Removal of offending URLs with
urlchecker::check_urls()
- Improvement of documentation of
line_midpoint()
: comparison of output withsf::st_point_on_surface()
- Export S3 methods
- Fixed URLs and other things for CRAN
- New function
rnet_merge()
and related changes, new contributor Zhao Wang line_segment()
is now vectorised (#518)- Assorted fixes, see https://github.com/ropensci/stplanr/issues?q=is%3Aissue+is%3Aclosed for details
- Update docs, fix missing functions issue (#499)
- Fix for breaking change in
dodgr
(#494)
- Remove dependency on
sp
,rgeos
andrgdal
(#332) - That involved removal of the following functions:
- catchmentArea.R
- Some of the functionality from linefuns.R
- Browse the code base as of stplanr 0.8.5 here: https://github.com/ropensci/stplanr/releases
- Removal of 'ABS' reading functionality in favour of https://github.com/mattcowgill/readabs
- Message added on loading the package announcing planned changes: support for
sp
objects and associated packages will be dropped (#332) - New function
line_segment_sf()
(#482) - Various changes required by CRAN (#486)
route()
now runs batch routing when input is a linestring andopentripplanner
is installed (#459)
route()
checks the CRS and gives an appropriate warning if it is projected- The package now Suggests igraph rather than depending on it making it easier to install
- No longer Suggests stats19 package
- No longer Suggests bench package
- Tests pass when internet unavailable (#469)
- Outputs of
line_via()
now have correct CRS calc_catchment()
have been deprecated because the generate warnings- Minor fixes and improvements in the package's documentation
- Bug fixed related to the
route()
function: it silently failed whenpbapply
not installed. The package was promoted from Suggests to Imports (#460)
- Thanks to the
styler
package, code instplanr
now adheres to a consistent style (using arrow<-
assignment despite the maintainer's default of equals=
assignment - many=
had been introduced accidentally!) - New function
rnet_group()
groups route network elements (#403) overline()
now convertsMULTILINESTRING
geometries toLINESTRINGS
automatically- Routing on the network using
sum_network_routes()
now returns a linestring for routes that start where they end (i.e. no travel) (#444) - Routing using
route_local()
fixed: thel
argument now works (#448) - New
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 withsfNetwork
objects (#455)route_osrm()
provides easy access to multi-modal routing (#449)- Bug in
route()
function's calculation of bbox attributes fixed (#452)
- New function
line_breakup()
breaks-up lines (#434) - Minor documentation fixes, including (#431)
- Support
sf
objects fortoptail_buff()
- Updated examples for tests and README to enable tests to pass on legacy versions of PROJ (#423)
- Reduce vulnerability to upcoming upstream changes (#426)
- Tweaks to the documentation and examples for CRAN tests
- Issue with
line2points()
on some set-ups fixed (#418) - Old
mapshape()
,line_match()
andgclip()
functions deprecated, maintained alternatives can now be found in other packages. sp
objects updated for latest version ofsp
(#364)sf
objects updated to support more recent CRS encoding (#393)- Deprecated functions including
od_aggregate()
,onewayid()
,gtfs2sldf()
, andod_radiation()
have been removed
- New interface to Google Directions API via
mapsapi
package (#410) - New
quiet
argument inoverline()
makes it less chatty
route()
failed whendata.table
not installed (#408)
- Bug in
SpatialLinesNetwork()
fixed thanks to Andrea Gilardi (#394) - Updated documentation for finding shortest paths
- Check
start
andend
arguments in short path calculations are numeric dodgr
removed as Suggests until it's back on CRAN (#398)- Updates to
dplyr
code to prevent warnings when using the dev version (#395)
- Improvements to
route()
allowing you to save a list of raw outputs and usedata.table
for faster performance if available - A fleet of new
route_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 next
geo_toptail()
function now hassf
implementation (#390)- New
cl
argument inroute()
for parallel routing (#388) - New and updated datasets representing
od_data_sample
in different ways:od_data_lines
andod_data_routes
route_graphhopper()
deprecated (#389)- Old functions that use legacy
sp
anddplyr
code,sp_aggregate
andod_aggregate
, have been deprecated - New work-in-progress
route_slope*()
functions
- Documentation fixes (#384)
- A bug affecting
route()
function calls whenpbapply
was not installed has been fixed (#386) oneway()
has been deprecated in favour of faster and easier-to-maintain functionod_oneway()
(also see the in-developmentod
package) (#387)- Various other changes have been made to accomodate the dev version of
dplyr
(#383)
- Changes for compatibility with R 4.0.0
route_graphhopper()
should now work with a local graphhopper instance. See #369- The old
line2route()
function now works with routing functions that returnsf
objects - The new
route()
function is now more resilient, providing a progress bar if you havepbapply
package installed, returning a result even if some routes failed, and telling you which routes failed - The package has fewer dependencies,
readr
,openxlsx
andlubridate
removed - Deprecated function
buff_geo()
removed
destination
now works again as an argument inline2route()
(#368)overline()
now acceptssf
objects regardless of the name of the geometry columnline2points()
now works withsfc
objects (#361)
- Better error messages if
od2line()
fails due to non-matching ids - Improved documentation of
od2line()
in the vignette: https://docs.ropensci.org/stplanr/articles/stplanr-od.html#non-matching-ids
- A family of new functions, including
route_split()
,rnet_add_node()
andsln_add_node()
for adding new nodes to routes, route networks andsfNetwork
objects, closing #342 - Updated vignette on route networks, solving #237, which can be found here: https://docs.ropensci.org/stplanr/articles/stplanr-route-nets.html
- Fix in
line2points()
line_to_points()
function removed in favour ofline2point()
.- New function
sln_clean_graph()
removes unconnected elements ofsfNetwork
objects. Credit to Andrea Gilardi. See (#344). - New functions
rnet_breakup_vertices()
andline2vertices()
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.
- Bugs in
route_dodgr()
and associated examples fixed (#348) - Annoying message printed on load removed (#355)
- Andrea Gilardi added as author.
- Deprecated functions related to road crash (STATS19) data removed
- stplanr now has a logo! See #334
line_to_points()
depreciated in favour ofod2line()
, the latter function name being more consistent with the package's other functionsline2pointsn()
now works withsf
objects- Documentation fixes - see #329
- Various improvements made to the
stplanr-od
vignette, thanks to Edward Leigh - URLs updated to link to stplanr's new, official website: https://docs.ropensci.org/stplanr/
- New functions
od_to_odmatrix()
andodmatrix_to_od()
to convert between matrix forms of origin-destination data - New function
od_oneway()
replacesonewayid()
, works better and is twice as fast - New
od_id*()
functions provide a range of ways to convert origin-destination pair IDs into a single ID. See Stackoverflow and the issue tracker - New vignette
stplanr-od
provides detailed documentation on the package's OD data handling capabilities
- Fix in documentation. See #311
- New functions
od_aggregate_from()
andod_aggregate_to()
provide easy ways to aggregate origin-destination pairs. See #303. - Updated
overline2()
is now faster and better documented (#307) - Updates to
route_dodgr()
function, which provides an interface to the dodgr package, accepts wider range of inputs - Better website and updated function list. See https://ropensci.github.io/stplanr/index.html
- The
sf
method foroverline()
has been updated so it calls the much fasteroverline2()
function - Updated documentation for
route_local()
- Bug in
sum_network_routes()
fixed. See #267
- The stplanr paper has been published! See it here: https://journal.r-project.org/archive/2018/RJ-2018-053/index.html
- STATS19 functions such as
dl_stats19()
are depreciated. They have been split-out into the new packagestats19
route_dodgr()
has now been implemented- A new function
overline2()
has been added, thanks to Malcolm Morgan. This is faster thanoverline()
. - A substantial refactoring operation has begun. This has resulted in fewer lines of code in the
od
functions, a newstplanr::od_coords2line()
function, and more support ofsf
route_dodgr()
has been added- A new example dataset,
osm_net_example
, has been added for local routing purposes. - A citation to the package has been added. Try
citation("stplanr")
- The package has a shiny new website thanks to
@maelle
: https://ropensci.github.io/stplanr/ - The package looses its Imports dependency on rgdal, which has been demoted to a Suggests
- An issue with
route_graphhopper()
has been fixed, see #297
- Various changes to support
dplyr
[0.8.0]: #275
- Fixed #272 by removing byvars argument of overline in preparation for overdue overhaul of overline function.
- No longer suggests tmap to reduce install times:
install.packages()
installs suggested packages by default
- New function
route_local()
- New argument in
line2route()
:time_sleep
waits a period between each route request
- Issue with
dl_stats19()
, see #270 - Make style consistent, see commit
- Various small fixes to documentation and style
- New function
line_via()
for identifying intermediary points on a transport network
- Bug associated with
SpatialLinesNetwork()
fixed (see #249)
- New function
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 #246- Updated
introducing-stplanr
vignette to show new function and make more robust
- stplanr now imports lwgeom, needed for
sf::st_length()
, used inSpatialLinesNetwork()
. - Plotting behaviour updated for
sfNetwork
objects: now only plots the geometry by default. - Improved documentation for
SpatialLinesNetwork()
andplot()
for spatial networks.
- Bug in
sum_network_routes()
fixed (see #240).
- In this release sp is demoted from a Depends to an Imports, meaning that all its functions will not be attached to your namespace (it will not be loaded) when you run
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.
- Bug in
geo_select_aeq.sf()
was fixed by Jakub Nowosad in pull #238 - An issue with
od_aggregate.sf()
was fixed making it much faster
- This is the largest release since the package was created, with dozens of changes to support simple features - see #198 for details.
- Support for sf. The package now support the new spatial class system for most functions.
- New function
geo_bb()
supercedesbb2poly()
. The new function can return polygons, points and matrix objects determined by theoutput
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.- New function
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
- New generic
route()
function for routing. This is more flexible and user-friendly than the existingline2route()
androute_*()
functions it enhances. - Updated function names to make using stplanr easier and more intuitive.
- Dependency cull: we have removed dependencies on foreach and doParallel
route_cyclestreet()
now also called (correctly)route_cyclestreets()
- New
geo_code()
function replaces dependency on RGoogleMaps
- See issues closed after the last release with this search term: https://github.com/ropensci/stplanr/issues?utf8=%E2%9C%93&q=is%3Aissue%20closed%3A%3E2017-06-01%20
- Bug with
google_dist()
fixed - Fixed fails due to breaking changes in dplyr
- New argument
combinations
added tosum_network_routes()
so it runs quicker - see pull/177. - New examples added to
sum_network_routes()
,weightfield()
andfind_network_nodes()
- see e.g.example(sum_network_routes)
for details. - New dataset
l_poly
added. - stplanr now has a website! See ropensci.github.io/stplanr/.
- Serious bug with
SpatialLinesNetwork()
fixed. - Depreciated
_each()
dplyr functions replaced with equivalent_at
or_all
functions.
- There is a new vignette! See vignettes/stplanr-paper.Rmd and
vignette("stplanr-paper")
for details. - The original
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 allown_processes
arguments. Thanks @nikolai-b. See pull/151 for details.line_match()
function added, a wrapper aroundrgeos::gDistance()
, to find similar routes.- RCurl and data.table dependencies have been removed
- leaflet has been demoted from an import to a suggest. This should reduce install times.
- New functions
od_aggregate()
andsp_aggregate()
have been added, to enable OD data to be aggregated to new geographic levels.
#141
fixed:viaroute()
works again.- #153 fixed:
bidirectional = TRUE
returns a different result inline_bearing()
now.
- A new branch that uses sf is being tested. We may eventually transition to using simple features classes instead of sp classes.
onewayid()
is now a generic function, meaning it can handle spatial and non-spatial data- New arguments provided for
line2route()
allow you to specify variables to join-by - also has updated and more sensible defaults - New function
od_id_order()
to put origin-destination ids in order, to identify 2 way duplicates (split out fromonewayid()
)
- See the issue tracker
- Bug in
route_cyclestreet()
leadingchange_elev
andav_incline
being wrong now fixed - Bug making variable names with spaces in the id columns failed - now fixed #138
NEW FEATURES
- New argument destinations added to
od2line()
. Seeexample(od2line)
for an example. - New dataset
destinations
for showing how OD matrix with destinations can be converted to spatial data - New argument
list_output
allows the route information to be saved as a list, allowingsave_raw = TRUE
(which does not return aSpatial
object) to be passed to theroute_
function. - tmap dependency removed for faster installs
BUG FIXES
- Bug with
line2route()
(#124) fixed - Various improvements to documentation
NEW FEATURES
-
New function
reproject()
is a simple wrapper aroundspTransform()
that usescrs_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 theoverline()
function, to allow disaggregation of results by a grouping variable (seeexample(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 (feedsod2line2()
but also useful as self-standing function). -
New argument
new_proj
inbuff_geo()
allows the results to be exported to any coordinate reference system (CRS). -
New function
gprojected()
generalises concept ofbuff_geo()
, building oncrs_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 argumentroute_fun
(for testing - tested withroute_fun = route_cyclestreet
). -
New functions for creating origin-destination data frames (
point2odf
) and SpatialLinesDataFrames (points2flow
). -
Addition of
n_vertices
andis_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 forplot
andsummary
and functionscalc_network_routes
andfind_network_nodes
allowing fast route calculations via igraph and other network analysis functions. -
Functions for removing beginning and end of lines:
toptail
andtoptailgs
. Helper functionsbuff_geo
,crs_select_aeq
andline2points
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.
- Published on CRAN