 ## Work with OD data

`dist_google()`

Return travel network distances and time using the Google Maps API

`od2line()` `od2line2()`

Convert origin-destination data to spatial lines

`od2odf()`

Extract coordinates from OD data

`od_aggregate_from()`

Summary statistics of trips originating from zones in OD data

`od_aggregate_to()`

Summary statistics of trips arriving at destination zones in OD data

`od_coords()`

Create matrices representing origin-destination coordinates

`od_coords2line()`

Convert origin-destination coordinates into desire lines

`od_dist()`

Quickly calculate Euclidean distances of od pairs

`od_id_szudzik()` `od_id_max_min()` `od_id_character()`

Combine two ID values to create a single ID number

`od_oneway()`

Aggregate od pairs they become non-directional

`od_to_odmatrix()`

Convert origin-destination data from long to wide format

`odmatrix_to_od()`

Convert origin-destination data from wide to long format

`points2flow()`

Convert a series of points into geographical flows

`points2odf()`

Convert a series of points into a dataframe of origins and destinations

## Work with (desire) lines

`angle_diff()`

Calculate the angular difference between lines and a predefined bearing

`geo_toptail()`

Clip the first and last n metres of SpatialLines

`is_linepoint()`

Identify lines that are points

`line2df()`

Convert geographic line objects to a data.frame with from and to coords

`line2points()` `line2pointsn()` `line2vertices()`

Convert a spatial (linestring) object to points

`line_bearing()`

Find the bearing of straight lines

`line_breakup()`

Break up line objects into shorter segments

`line_match()`

Match two sets of lines based on similarity

`line_midpoint()`

Find the mid-point of lines

`line_sample()`

Sample n points along lines with density proportional to a weight

`line_segment()`

Divide SpatialLines dataset into regular segments

`line_via()`

Add geometry columns representing a route via intermediary points

`mats2line()`

Convert 2 matrices to lines

`n_sample_length()`

Sample integer number from given continuous vector of line lengths and probabilities, with total n

`n_vertices()`

Retrieve the number of vertices from a SpatialLines or SpatialPolygons object

`onewaygeo()`

Aggregate flows so they become non-directional (by geometry - the slow way)

`points2line()`

Convert a series of points, or a matrix of coordinates, into a line

`toptail_buff()`

Clip the beginning and ends SpatialLines to the edge of SpatialPolygon borders

`toptailgs()`

Clip the first and last n metres of SpatialLines

`update_line_geometry()`

Update line geometry

## Work with and analyse routes

`route_average_gradient()`

Return average gradient across a route

`route_rolling_average()`

Return smoothed averages of vector

`route_rolling_diff()`

Return smoothed differences between vector values

`route_rolling_gradient()`

Calculate rolling average gradient from elevation data at segment level

`route_sequential_dist()`

Calculate the sequential distances between sequential coordinate pairs

`route_slope_matrix()`

Calculate the gradient of line segments from a matrix of coordinates

`route_slope_vector()`

Calculate the gradient of line segments from distance and elevation vectors

## Routing

`line2route()`

Convert straight OD data (desire lines) into routes

`line2routeRetry()`

Convert straight spatial (linestring) object from flow data into routes retrying on connection (or other) intermittent failures

`route()`

Plan routes on the transport network

`route_dodgr()`

Route on local data using the dodgr package

`route_local()`

Plan a route with local data

`route_transportapi_public()`

Plan a single route with TransportAPI.com

## Work with nodes

`geo_code()`

Convert text strings into points on the map

`nearest_google()`

Generate nearest point on the route network of a point using the Google Maps API

## Route network functions

`SpatialLinesNetwork()`

Create object of class SpatialLinesNetwork or sfNetwork

`calc_catchment()`

Calculate catchment area and associated summary statistics.

`calc_catchment_sum()`

Calculate summary statistics for catchment area.

`calc_moving_catchment()`

Calculate summary statistics for all features independently.

`calc_network_catchment()`

Calculate catchment area and associated summary statistics using network.

`find_network_nodes()`

Find graph node ID of closest node to given coordinates

`gsection()`

Function to split overlapping SpatialLines into segments

`islines()`

Do the intersections between two geometries create lines?

`lineLabels()`

Label SpatialLinesDataFrame objects

`overline()` `overline2()`

Convert series of overlapping lines into a route network

`overline_spatial()`

Spatial aggregation of routes represented with sp classes

`plot(<SpatialLinesNetwork>,<ANY>)`

Plot a SpatialLinesNetwork

`plot(<sfNetwork>,<ANY>)`

Plot an sfNetwork

`rnet_breakup_vertices()`

Break up an `sf` object with LINESTRING geometry.

`rnet_group()`

Assign segments in a route network to groups

`sln2points()`

Generate spatial points representing nodes on a SpatialLinesNetwork or sfNetwork.

`sum_network_links()`

Summarise links from shortest paths data

`sum_network_routes()`

Summarise shortest path between nodes on network

## Geographic functions

`bbox_scale()`

Scale a bounding box

`gclip()`

Crops spatial object x to the bounding box of spatial object (or matrix) b

`geo_bb()`

Flexible function to generate bounding boxes

`geo_bb_matrix()`

Create matrix representing the spatial bounds of an object

`mapshape()`

Simplify geometry of spatial objects with the mapshaper library

`mapshape_available()`

Does the computer have mapshaper available?

`quadrant()`

Split a spatial object into quadrants

`reproject()`

Reproject lat/long spatial object so that they are in units of 1m

## Get transport data

`read_table_builder()`

Import and format Australian Bureau of Statistics (ABS) TableBuilder files