Data Structures for Moving Objects
Pankaj K. Agarwal
Center for Geometric Computing
Department of Computer Science Duke University
Center for Geometric Computing
S: Set of geometric objects Points, segments, polygons
✫ Ask several queries onS
• Range searching
• Nearest-neighbor searching
Quad Tree kd−Tree BSP
Geometric Data Structures
✫ Traffic management
• Location based services
• Emergency services
• Air traffic control
✫ Digital battlefields
✫ Molecular biology
✫ Deformable objects
✫ Adhoc networks
Need data structures for storing, analyzing, querying moving objects.
Center for Geometric Computing
Moving Objects: Applications
Data Structures for Moving Objects 2
p(t) = (x(t), y(t)):Position ofp at time t.
• x(·), y(·): Polynomials
• Degree of motion: max degree ofx(·), y(·).
• Linear motion: Degree of motion is1 p(t) = at + b, a, b ∈ R2
✫ Mostly assume motion to be linear
✫ Trajectory of points can change
✫ Trajectory can be piecewise linear
p(t)
Issues:
✫ Sampled motion
✫ Hierarchical motion
✫ Uncertainty
Modeling Motion
S: Set of points
PreprocessS into a data structure
Report all points of S lying inside a query rectangle
Data Structure Space Query Range tree n log n
log log n log n + k
kd-tree n √
n + k External memory data structures also available
Example:R-tree
Center for Geometric Computing
Range Searching
Data Structures for Moving Objects 4
S: Set of points, each moving with fixed velocity in the plane PreprocessS into a data structure:
Q1 Given a rectangleR and a time value t, report all points ofS(t) ∩ R
Q2 Given a rectangleR and time values t1, t2,
report all points that pass throughR during the time interval [t1, t2].
t
x y
t
x y
Kinetic Range Searching
✫ One-dimensional data structures
[Wolfson et al. ’98-’99, Tayeb et al. ’98, Kollios et al. ’99]
✫ Two-dimensional data structures
• Map trajectories to higher dimensional points[Kollios et al.]
• Build index on trajectories[Pfoser et al.]
• Parametric R-trees[Saltenis et al.]
Assumes frequent updates on trajectories
Center for Geometric Computing
Early Approaches
Data Structures for Moving Objects 6
(A., Arge, Erickson, 2001)
✫ Partition-tree based approach
• O(n)space,∼√n + kquery time
• log2ninsertion/deletion/trajectory-change
• Time oblivious scheme
✫ Kinetic range trees
• n log n/ log log nspace,log n + kquery
• Events:x- or y-coordinates of two points become equal
• Θ(n2)events, each requiringlog2ntime
• Tradeoff between # events and query time
• Queries have to arrive in a chronological order
Kinetic Range Searching
xt* yt*
t
x y t
x
t
y
✫ Trajectory of a pointpiis a lineℓiinR3
✫ pi(t) ∈ R ⇐⇒ ℓi intersects(R, t)
✫ ℓx, ℓy: Projection ofℓ onto the xt- & yt-planes
✫ ℓ intersects (R, t) ⇔ ℓxintersects(Rx, t) & ℓy intersects(Ry, t)
✫ Use duality and partition trees
Center for Geometric Computing
Partition Tree Based Approach
Data Structures for Moving Objects 8
✫ Bounding box hierarchy, B-tree
✫ Each nodev is associated with a subset Sv of points and the smallest rectangleRv containingSv
✫ PartitionSv intoB clusters, each associated with a child of v
✫ Several heuristics are proposed for partitioningSv intoB clusters
R1
R2 R3
R4
R5
A B
C D
E F
G
H
I
R1 R2
R3 R4 R5 R6
A B C D E F G H I
R-Trees
✫ Kinetic R-tree
✫ Maintain the smallest box enclosing the set of moving points
• Box is defined by four points
• The combinatorial structure can change Ω(n) times
• Maintain an approximation of the small- est enclosing box
B(t)
✫ Maintaining the clustering kinetically
• Extend the known heuristics
• No theoretical nontrivial results known on kinetic clustering
Center for Geometric Computing
STAR-Tree
Data Structures for Moving Objects 10
✫ R(P (t)): Smallest box enclosingP at time t
✫ ε-core-set: C ⊆ S ε-coreset if ∀t (1 − ε)R(S(t)) ⊆ R(C(t))
Theorem: ∃ ε-core-set of size1/√
ε; Computation time: n + 1/ε A more general result on core sets in[A., Har-Peled, Varadarajan]
Leads to approximatation algorithms for several problems
Smallest Enclosing Box
−10 −5 0 5 10 0.93
0.94 0.95 0.96 0.97 0.98 0.99 1
Time
Quality
Kernel Size = 16 Kernel Size = 32
−10 −5 0 5 10
0.94 0.95 0.96 0.97 0.98 0.99 1
Time
Quality
Kernel Size = 16 Kernel Size = 28
−10 −5 0 5 10
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000
Time
# Events
Linear Motion, Input Size = 10,000 Quadratic Motion, Input Size = 10,000
−100 −5 0 5 10
2 4 6 8 10 12 14 16 18
Time
# Events
Linear Motion, Kernel Size = 24 Quadratic Motion, Kernel Size = 27
Center for Geometric Computing
Smallest Enclosing Box
Data Structures for Moving Objects 12
STAR-tree: Maintain a box enclosing Sv at each nodev
✫ Compute Cv ⊂ Sv for each node in a bottom-up manner
• Merge the core sets computed at the children ofv
• Prune the merged set
✫ Maintain the smallest enclosing box R(Cv)
Smallest Enclosing Box
✫ Reorganize the children of a node if the rectangles of their children overlap a lot.
w2
w1
u3
v v
u2
u1
u3
✫ Collect all the grandchildren of the node
✫ Reconstruct a 2-level R-tree on them
Center for Geometric Computing
Re-Clustering
Data Structures for Moving Objects 14
Synthetic Data
✫ 100,000–500,000 points inside1000 × 1000 km2 area with different distributions
✫ Points are inserted/deleted dynamically, at any time at least80% points present
✫ Three range of speed:45 km/h, 75km/h, 180 km/h
5 10 15 20 25 30 35 40 45 50
Search I/O
S1 (approx.) S1 (exact) S2 (approx.) S2 (exact) S3 (approx.) S3 (exact)
20 40 60 80 100 120 140 160 180 200
Search I/O
Experimental Results
Realistic Data
✫ Extracted the roads map around Durham, NC, within 120 miles cen- tered at Durham (≈ 250, 000 polygonal chains)
✫ Computed a planar map of the road network
✫ Chose source and destinations randomly with some distribution
✫ Computed a good path using Dijkstra’s algorithm — minimize the length + number of turns
✫ Used Douglas Peucker algorithm to simplify the paths
Center for Geometric Computing
Experimental Results
Data Structures for Moving Objects 16
50 100 150 200 250 300
0 2 4 6 8 10 12 14 16 18 20
Time
Avg. Query I/O
Experimental Results
✫ Accuracy vs efficiency
• Maintain approximate structures
✫ Query vs events
• Combine KDS and time-oblivious approaches
✫ Time Responsive Approach:
• Near-future queries are more critical than far-future queries
• Fast query time for near-future queries
• Measurefutureby the number of events occurred
• # events:∆, query:p∆/n + k
Center for Geometric Computing
Tradeoffs in Performance
Data Structures for Moving Objects 18
✫ Incorporating more realistic motions
• Use dynamic systems, e.g., Kalman, particle filters, to model tra- jectories
• How does one perform geometric computation in this model?
• Geometric computation under uncertainty
✫ Hierarchical representation of motion
✫ Kinetic data structure for clustering, similarity searching