1 / 22

Spatio-Temporal Databases

Spatio-Temporal Databases. Moving Objects. 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.

adonia
Download Presentation

Spatio-Temporal Databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spatio-Temporal Databases Moving Objects

  2. 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

  3. Spatio-temporal Queries • Historical Queries: Store the past the history of a spatio-temporal evolution. • R-tree, MV3R-tree (PPR-tree) • “Future” Queries: Find the future positions of moving objects. • Indexing?

  4. 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

  5. Moving Objects: Queries • Range Queries • NN queries • Aggregation queries Q

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. Hough-Y space

  13. 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

  14. Improving the query • In the Hough-Y, the slope of the queries is y1q – yr (or y2q – yr) location y3 y2 query y1 time

  15. 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

  16. Indexing in 2-dimensions • The dual transformation can be extended to 2 dimensional points • 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

  17. Dual for 2-D Moving Objects • Using Hough-X: • Map a moving point p with location (px, py) and velocity (vx, vy) to the 4D point (vx, ax, vy, ay) • Query is also transformed to a linear constraint query: Q=[(x1q, x2q), (y1q, y2q), (t1q, t2q)] • ax + t2qvx >= x1q and ax+ t1q vx <= x2q • ay + t2qvy >= y1q and ay+ t1q vy <= y2q • x1qvy - y2qvx <= axvy – ayvx<= x2qvy -y1q vx

  18. 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”

  19. Motion function • For each object, the database stores • Its minimum bounding rectangle (MBR) at the reference time 0 • Its current velocity bounding rectangle (VBR) • Examples: MBR(a)={2,4,3,4}, VBR(a)={1,1,1,1}; MBR(c)={8,9,8,9} • An update is necessary only when an object’s VBR changes.

  20. (a) The boundaries at current time 0 (b) The boundaries at future time 1 TPR – MBRs

  21. Insertion and Deletion • Insertion and Deletion similar to R*-tree • The only difference is that you have to compute the values: margin, overlap, volume over time • Trick: try to optimize the structure for the next H time instants. • Another optimization: when you update an object, re-compute the MBR at the current time

  22. y o1 o2 o3 o4 t update time An example of update and re-computation of MBR (1D) Reference: Simonas Saltenis, Christian S. Jensen, Scott T. Leutenegger, Mario A. Lopez: Indexing the Positions of Continuously Moving Objects. SIGMOD Conference 2000: 331-342

More Related