220 likes | 333 Views
Continuous Spatiotemporal Trajectory Join. Petko Bakalov, Vassilis J. Tsotras University of California, Riverside. Overview. Motivation CSTJ definition Indexing Spatiotemporal streams along the temporal axe Evaluation Framework and algorithms Experimental results. Object location.
E N D
Continuous Spatiotemporal Trajectory Join Petko Bakalov, Vassilis J. Tsotras University of California, Riverside
Overview • Motivation • CSTJ definition • Indexing Spatiotemporal streams along the temporal axe • Evaluation Framework and algorithms • Experimental results
Object location Antenna Spatiotemporal stream GPS Devices Result Query Clients Server Motivation • Streaming Spatiotemporal data is generated in many real life applications • There is need for more complex continuous spatial predicates
Continuous SpatiotemporalTrajectory Join • The problem of identifying all pairs of moving objects which follow similar movement pattern for specified period of time. • Example: "Identify the pairs of (security officers, visitors) that have followed each other in the last 10 minutes.“ • Difference from existing continuous predicates: The predicate involves relative time constraint “ ………….last 10 minutes.“
Formal Definition • Input: A stream of location/time-instant <li, ti> pairs from two sets of objects or and os a threshold ε, and a relative time interval δt • Output: set V of pairs <oi, oj>, where oiЄ or, oj Є os, such that for every time instant ti in the interval [tnow; tnow – δt] D( location(oi, ti), location(oi, ti), ) < ε
Overview • Motivation • CSTJ definition • Key Ideas • Indexing Spatiotemporal streams along the temporal axe • Evaluation Framework and algorithms • Experimental results
Key Ideas • Initial formation of the result (MDM05, GIS05) • Usetrajectory approximations to reduce the size of the problem • Define a lower bound distance function for this approximation • Using this distance function, prune as many trajectory pair similarity evaluations as possible. • Incremental reevaluation. Reuse as much as possible the result from the previous iteration
Trajectory Approximation • Use of a uniform spatial grid to discretize the spatial domain. • Each object location li in the stream can be approximated with the grid cell in the boundaries of which it is. Trajectory approximation 32 33 31 22 22 22 23 13 13 22 23 21 <22,3><23,4><13,6> 12 13 11
Trajectory Approximation • Organize the trajectory approximations in a way that enables the use of incremental approach Time to 21 7 <31,1><21,3><11,7> 24 23 <22,3><23,4><13,6> 6 <32,2><33,3><23,5><13,6> 23 5 23 4 22 33 32 33 31 3 32 2 22 23 21 31 1 12 13 11 1 2 3 4 5 6 7 Time from
Trajectory Approximation • For any time period ( for example (3;6)) this space can be divided on 4 regions 3 2 Time to 21 Region 1 7 24 23 6 23 Region 2 5 1 4 23 4 22 33 Region 3 3 32 2 31 Region 4 1 1 2 3 4 5 6 7 Time from
Lower bound distance function • We proposed the use of the following distance function, defined over trajectory approximations • d() is the minimal distance between grid cells • Slightly different form the functions in MDM05, GIS05
Overview • Motivation • CSTJ definition • Key Ideas • Indexing Spatiotemporal streams along the temporal axe • Evaluation Framework and algorithms • Experimental results
Initial formation of the result • Step 1. Define an order among the trajectories in the system by using as a score the distance between these strings and M randomly picked trajectories called origins Oi: • The origins can be artificially created • Step 2. By using sliding window algorithm find all pairs between the two sets having score less then the threshold. • Step 3. Verify the result with the actual trajectory data
Step 1 – compute the scores Assume that a query with δt=3 is introduced in the system in time instance tstart=5 Time to Create partitioning for time period (tstart-δt; tstart) e.g. (2;5) I1 – set of points in region 1 I2 – set of points in region 2 I3 – set of points in region 3 I4 – set of points in region 4 3 2 21 7 24 23 6 23 5 1 4 23 4 22 33 3 32 2 31 Choose origin 1 O1 <33,6> 1 2 3 4 5 6 7 Time from
Step 2 & 3 sliding window and verification Compute squared sum of distances between trajectory approximations and origin using the formula Compute the object scores W1(o1) = 1,4W1(o2) = 1W1(o3) = 2,4
Sliding window algorithm W1(o1) = 1,4W1(o2) = 1W1(o3) = 2,4 0 1 2 3 Object 1 – Set 1 Object 2 – Set 2 Object 3 – Set 2 Object 1 and Object 2 might have a join – report as a candidate pair Object 1 and Object 2 are tested if they indeed satisfy the criteria
Continuous reevaluation • Once the initial result is formed the query moves to a second phase where it is constantly reevaluated • To minimize the cost of the reevaluation we keep the results form the previous step and apply to them the changes which have occurred to the stream
Continuous reevaluation Time to 3 2 21 7 24 23 6 23 5 1 4 23 4 22 33 3 32 2 31 1 1 2 3 4 5 6 7 Time from
Experimental Results • Synthetic datasets on the freeways of Illinois • Up to 150 000 moving objects • Measure the average number of disk accesses for the index and the total number of candidate trajectories that need to be retrieved