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 #238
od_aggregate.sf()was fixed making it much faster
bb2poly(). The new function can return polygons, points and matrix objects determined by the
outputargument. 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
route_*()functions it enhances.
route_cyclestreet()now also called (correctly)
geo_code()function replaces dependency on RGoogleMaps
sum_network_routes()so it runs quicker - see pull/177.
find_network_nodes()- see e.g.
_each()dplyr functions replaced with equivalent
_allfunctions. See here for more.
introducing-stplanrvignette 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_processesarguments. Thanks @nikolai-b. See pull/151 for details.
line_match()function added, a wrapper around
rgeos::gDistance(), to find similar routes.
sp_aggregate()have been added, to enable OD data to be aggregated to new geographic levels.
bidirectional = TRUEreturns a different result in
onewayid()is now a generic function, meaning it can handle spatial and non-spatial data
line2route()allow you to specify variables to join-by - also has updated and more sensible defaults
od_id_order()to put origin-destination ids in order, to identify 2 way duplicates (split out from
av_inclinebeing wrong now fixed
example(od2line)for an example.
destinationsfor showing how OD matrix with destinations can be converted to spatial data
list_outputallows the route information to be saved as a list, allowing
save_raw = TRUE(which does not return a
Spatialobject) to be passed to the
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.
gprojected(), a function for performing GIS operations on a temporary, projected, version of spatial objects.
line_bearing() to return the bearing of lines based on start and end points.
angle_diff() for finding the angular difference between lines: are they roughly parallel or perpendicular?
line2df() now works on lines with multiple vertices and is faster.
Fixes in the examples used to illustrate how
Update to OSRM functions to support API v5.
byvars in the
overline() function, to allow disaggregation of results by a grouping variable (see
Faster implementation of
od2line2(). Plan is to replace the original if no issues are found with new implementation.
od2odf() which converts OD data into a dataframe of origins and destinations (feeds
od2line2() but also useful as self-standing function).
buff_geo() allows the results to be exported to any coordinate reference system (CRS).
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.
od_dist() can quickly calculate Euclidean distances of OD pairs without converting to spatial objects.
Bug fix in
onewayid() so it captures all lines.
Various improvements to documentation and code.
Interface to the Google Distance Matrix
API with dist_google.
New transport planning API added, with
route_transportapi_public (for testing).
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 (
is_linepoint for identifying the number of vertices in spatial objects and whether the ‘line’ is really a point.
line2routerefactored, with 10 fold speed increases on large (1000+) batches of lines.
Addition of new class definition
SpatialLinesNetwork, methods for
summary and functions
find_network_nodes allowing fast route calculations via igraph and other network analysis functions.
Functions for removing beginning and end of lines:
toptailgs. Helper functions
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.