distSpeed {diveMove} | R Documentation |
Calculate distance, time difference, and speed between pairs of points defined by latitude and longitude, given the time at which all points were measured.
distSpeed(pt1, pt2)
pt1 |
A matrix or data frame with three columns; the first a
POSIXct object with dates and times for all points, the
second and third numeric vectors of longitude and latitude for all
points, respectively, in decimal degrees. |
pt2 |
A matrix with the same size and structure as pt1 . |
A matrix with three columns: distance (km), time difference (s), and speed (m/s).
Sebastian P. Luque spluque@gmail.com
locs <- readLocs(system.file(file.path("data", "sealLocs.csv"), package="diveMove"), idCol=1, dateCol=2, dtformat="%Y-%m-%d %H:%M:%S", classCol=3, lonCol=4, latCol=5) ## Travel summary between successive standard locations locs.std <- subset(locs, subset=class == "0" | class == "1" | class == "2" | class == "3" & !is.na(lon) & !is.na(lat)) locs.std.tr <- by(locs.std, locs.std$id, function(x) { distSpeed(x[-nrow(x), 3:5], x[-1, 3:5]) }) lapply(locs.std.tr, head) ## Particular quantiles from travel summaries lapply(locs.std.tr, function(x) { quantile(x[, 3], seq(0.90, 0.99, 0.01), na.rm=TRUE) # speed }) lapply(locs.std.tr, function(x) { quantile(x[, 1], seq(0.90, 0.99, 0.01), na.rm=TRUE) # distance }) ## Travel summary between two arbitrary sets of points distSpeed(locs[c(1, 5, 10), 3:5], locs[c(25, 30, 35), 3:5])