170 likes | 355 Views
Spatio-Temporal Databases. Introduction. Spatiotemporal Databases: manage spatial data whose geometry changes over time Geometry: position and/or extent Global change data: climate or land cover changes Transportation: cars, airplanes Animated movies/video DBs. Spatio-temporal Queries.
E N D
Introduction • Spatiotemporal Databases: manage spatial data whose geometry changes over time • Geometry: position and/or extent • Global change data: climate or land cover changes • Transportation: cars, airplanes • Animated movies/video DBs
Spatio-temporal Queries • Historical Queries: Store the past the history of a spatio-temporal evolution. • R-tree, PPR-tree • “Future” Queries: Find the future positions of moving objects. • Indexing?
Indexing moving objects • Database stores the current location of each object and the velocity vector. • Example: cars moving in a highway system. GPS can provide position/velocity
Moving Objects: Queries • Range Queries • NN queries • Aggregation queries : no good solutions so far Q
Moving Objects:Representation • Consider the 1-d case (objects moving on a line) • Storing the locations of moving objects is a challenge: • Update the database with the new locations • Use a function of time f(t) to store a location • Update overhead is reduced; update the database only when velocity changes
Space-time • Trajectories are plotted as lines in the time-location space (y, t); p(t) = vt+a trajectories o 1 o 2 o 3 o 4 (t) time
Indexing • Use R-tree to index the lines Large MBRs, extensive overlap • Use a Quadtree approach (or a grid) • Partition the space into cells, store for each cell the lines that intersect it • Disk space is increased
Dual space-time • Idea: map a line to a point (y) location intercept trajectories o o 1 1 o 2 o 3 o 4 o 2 o 3 (t) time slope intercept
Dual space-time indexing • Query must be transformed. [(y1q, y2q), (t1q, t2q)] • a + t2qv >= y1q and a+ t1q v <= y2q , for v>0 • a + t1qv >= y1q and a+ t2q v <= y2q , for v<0
Dual space-time indexing • Another transformation (Hough-Y) is: • The difference is that we compute the intercept over a horizontal line • Queries in the dual space are similar with the previous transformation
Querying the dual space • Use a PAM to index the dual points, change the search function to find the points inside the query • Problem: Partitioning is not aligned with the queries many I/Os • An idea is to try to store multiple structures, one for each set of queries with similar slope
Improving the query • In the Hough-Y, the slope of the queries is y1q – yr (or y2q – yr) location y3 y2 query y1 time
Improving the query • Compute the dual using multiple y-lines • Store an R-tree for each line • Given a query, find the line that is closer to the query and then use the corresponding index • Thus, the query will appear as vertical as possible better performance
Indexing in 2-dimensions • The dual transformation is not natural • Map the trajectories in a point in 4-d using the transformations on x-t and y-t planes • Use the 1-d structures to answer a query • Another approach: parametrized R-tree
TP R-tree • Time-Parametrized R-tree • Store the MBRs as functions of time • The MBRs grow with time, at any time instant in the future we can compute the “MBR”