Calculate sequential bearing on longitude, latitude input vectors. The unit of bearing is degrees.
track_bearing(x, y)longitude
latitude
a numeric vector of absolute bearing in degrees, see Details
By convention the last value is set to NA missing value, because the bearing
applies to the segment extending from the current location.
To use this on multiple track ids, use a grouped data frame with tidyverse code like
data %>% group_by(id) %>% mutate(turn = track_bearing(lon, lat)).
Absolute bearing is relative to North (0), and proceeds clockwise positive and anti-clockwise
negative N = 0, E = 90, S = +/-180, W = -90.
The last value will be NA as the bearing is relative to the first point of each segment.
track_bearing(trips0$x, trips0$y)[1:10]
#>  [1]  34.520769 -26.475002 158.074929  -9.199007  98.453739 -56.729095
#>  [7]  34.130728  12.884408 168.895970  53.068662