The TrajDataMining contains a set of methods for trajectory data preparation, such as filtering, compressing and clustering, and for trajectory pattern discovery. The meth- ods for data preparation are important to prepare trajectory data sets before the data mining phase. TrajDataMining contains the following methods:
A speed filter that filters out trajectory observations whose speeds are above a user-defined maximum velocity ( ETIENNE , 2011).
Two compression algorithms: (1) Douglas-Peucker which reduces trajectories by preserving spatial precisions ( DOUGLAS; PEUCKER , 1973), and (2) Open-window Meratnia-By which reduces trajectories by preserving spatiotempo- ral precisions ( MERATNIA; BY , 2004).
Two algorithms to discover when objects stop and move, CB-SMoT ( PALMA et al. , 2008) and DB-SMoT ( ROCHA et al. , 2010), which can be used to semanti- cally enrich the trajectory data.
A method, named Partner, that identifies objects that are moving together. We propose this method to recognize trajectories that stay together, based on trajectory distance time series analysis.
library(TrajDataMining)
library(ggplot2)
library(sp)
library(magrittr)
suppressMessages(library(rgdal))
df <- data.frame(x=A1@sp@coords[,1],y=A1@sp@coords[,2])
ggplot(df,aes(x=df$x,y=df$y))+geom_path(aes(group = 1), arrow = arrow(),color='blue')+ggtitle("elephant sea Trajectory")+xlab("X")+ ylab("Y")+theme_classic()
# get the maximum distance
max <- max(A1@connections$distance)
douglasp <- douglasPeucker(A1,max)
df <- data.frame(x=douglasp@sp@coords[,1],y=douglasp@sp@coords[,2])
ggplot(df,aes(x=df$x,y=df$y))+geom_path(aes(group = 1), arrow = arrow(),color='blue')+ggtitle("Method Douglas Peucker")+xlab("X")+ ylab("Y")+theme_classic()
# get the maximum distance
sf <- speedFilter(A1,0.01)
## [1] "2008-01-23 21:32:44"
## [1] "2008-01-24 01:31:26"
## [1] "2008-01-24 03:12:00"
## [1] "2008-01-24 11:24:42"
## [1] "2008-07-21 04:30:30"
## [1] "2008-07-21 11:22:30"
## [1] "2008-07-22 01:09:49"
## [1] "2008-07-25 13:19:46"
## [1] "2008-07-28 11:40:23"
## [1] "2008-07-29 01:23:43"
## [1] "2008-07-31 09:15:41"
## [1] "2008-11-19 12:38:34"
df <- data.frame(x=sf@sp@coords[,1],y=sf@sp@coords[,2])
ggplot(df,aes(x=df$x,y=df$y))+geom_path(aes(group = 1), arrow = arrow(),color='blue')+ggtitle("Method Speed Filter")+xlab("X")+ ylab("Y")+theme_classic()
data <- FALSE
partner(A1,A2,110792,2277,0,data)
## begintime endtime id1 id2
## 1 2008-02-04 21:26:54 2008-11-11 06:58:44 1 2