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_routes
route_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 stats19
route_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
sf
route_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.