route_graphhopper()
should now work with a local graphhopper instance. See ropensci#369
destination
now works as an argument inline2route()
(#368)overline()
now acceptssf
objects regardless of the name of the geometry column
- 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, thanks to #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 ropensci#297
- Various changes to support
dplyr
0.8.0: ropensci#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 ropensci#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. See here for more.
- 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