Filter locations by distance
This function removes locations that are located beyond a specified distance.
distfilter(sdata, max.dist = 100, method = 1)
sdata |
A data frame containing columns with the following headers: "id", "DateTime", "lat", "lon".
See the data |
max.dist |
A numeric value specifying a threshold of distance between successive locations. Default is 100 km. |
method |
An integer specifying how locations should be filtered with max.dist. A location is removed if the distance from a previous and(1)/or(2) to a subsequent location exceeds max.dist. Default is 1 (both way). |
This function removes locations if the distance from a previous and/or to a subsequent location exceeds max.dist.
The input data is returned without locations identified by this filter. The following columns are added: "pDist", "sDist". "pDist" and "sDist" are straight distances in kilometres from a previous and to a subsequent fix respectively.
Takahiro Shimada
#### Load data sets ## Fastloc GPS data obtained from a green turtle data(turtle) ## A Map for the example site data(Australia) data(SandyStrait) #### Filter temporal and/or spatial duplicates turtle.dup <- dupfilter(turtle, step.time=5/60, step.dist=0.001) #### distfilter turtle.dist <- distfilter(turtle.dup) #### Plot data removed or retained by ddfilter ## Entire area p1 <- map_track(turtle.dup, bgmap=Australia, point.size = 2, line.size = 0.5, axes.lab.size = 0, sb.distance=200, multiplot = FALSE, point.bg = "red", title.size=15, title="Entire area")[[1]] + geom_point(aes(x=lon, y=lat), data=turtle.dist, size=2, fill="yellow", shape=21)+ geom_point(aes(x=x, y=y), data=data.frame(x=c(154, 154), y=c(-22, -22.5)), size=3, fill=c("yellow", "red"), shape=21) + annotate("text", x=c(154.3, 154.3), y=c(-22, -22.5), label=c("Retained", "Removed"), colour="black", size=4, hjust = 0) ## Zoomed in p2 <- map_track(turtle.dup, bgmap=SandyStrait, xlim=c(152.7, 153.2), ylim=(c(-25.75, -25.24)), axes.lab.size = 0, sb.distance=10, point.size = 2, point.bg = "red", line.size = 0.5, multiplot = FALSE, title.size=15, title="Zoomed in")[[1]] + geom_path(aes(x=lon, y=lat), data=turtle.dist, size=0.5, colour="black", linetype=1) + geom_point(aes(x=lon, y=lat), data=turtle.dist, size=2, colour="black", shape=21, fill="yellow") gridExtra::marrangeGrob(list(p1, p2), nrow=1, ncol=2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.