I have a data frame with data about a driver and the route they followed. I\'m trying to figure out the total mileage traveled. I\'m using the geosphere packa
library(geodist)
geodist(df, sequential = TRUE, measure = "geodesic") # sequence of distance increments
sum(geodist(df, sequential = TRUE, measure = "geodesic")) # total distance in metres
sum(geodist(df, sequential = TRUE, measure = "geodesic")) * 0.00062137 # total distance in miles
Geodesic distances are necessary here because of the long distances involved. The result is 1013.915, slightly different from less-accurate Vincenty distances of geosphere. Street network distances can also be calculated with
library(dodgr)
dodgr_dists(from = df)
... but there has to be a street network, which is not the case for (lat = 76, lon = -110). Where there is a street network, that will by default give you all pair-wise distances routed through the street network , from which the sequential increments are the off-diagonal.