Geometric Travel Planning 1
Geometric Travel Planning
Stefan Edelkamp (University of Dortmund, Germany)
Shahid Jabbar (University of Freiburg, Germany)
Thomas Willhalm (Universtiy of Karlsruhe, Germany)
Geometric Travel Planning 2
The big question .. What are we doing here ?
The Problemo
Digital maps available in the market are very expensive.
Most of those maps do not allow updates.
Not possible to have timed queries. The travel time can change drastically during different
kinds of days like, workdays and holidays … Can even change during different times of a day like,
from 8 to 9 AM as compared to 10 to 11 PM.
Geometric Travel Planning 3
Why not people make their own maps that they can query and update ?
But how ? How to collect the data ? How to process that data ?
Global Positioning System (GPS) Receiver
+ Computational Geometry
The big question .. What are we doing here ?
The Solution
Geometric Travel Planning 4
Data Collection
What about the cost of collecting the data ?
We say ….
You only need some Bananas.
Geometric Travel Planning 5
Data Collection
Geometric Travel Planning 6
Data format
<longitude>, <latitude>, <date>, <time>
48.0070783, 7.8189867, 20030409, 100156
48.0071067, 7.8190150, 20030409, 100158
48.0071850, 7.8191400, 20030409, 100200
48.0071650, 7.8191817, 20030409, 100202
48.0071433, 7.8191867, 20030409, 100204
48.0071383, 7.8191883, 20030409, 100206
48.0071333, 7.8191917, 20030409, 100208
48.0071317, 7.8191917, 20030409, 100212
Geometric Travel Planning 7
Not everything that glitters is Gold.
Filtering + Rounding
Kalman Filter GPS Information + Speed-o-meter reading as the inertial
information => removes the outliers
Douglas-Peuker Line Simplification Algorithm Simplifies a polyline by removing the waving affect. Remove all the points that are more than Θ distance
away from the straight line between the extreme points
Geometric Travel Planning 8
Geometric Rounding Douglas-Peucker’s algorithm results
using Hersberger and Snoeyink variant
#points
Θ=10-7 10-6 10-5 10-4 10-3
1,277 766 558 243 77 22
1,706 1,540 1,162 433 117 25
2,365 2,083 1,394 376 28 7
50,000 48,432 42,218 17,853 4,385 1,185
Geometric Travel Planning 9
Lets sweeeeep … Graph Construction
•Bentley - Ottmann Line Segment Intersection Algorithm.
•We have multiple traces.
Some of them might be intersecting
Road crossings!!!
•We need to convert them into a graph to be able to apply different graph algorithms e.g. shortest path searching
•Seems very simple, just convert: Point Vertex
Segment Edge
Geometric Travel Planning 10
Where am I ?
I am at hotel building and I want to go to the Cinema.
Pity!!! I have no existing trace that pass through the hotel building.
What to do ? Hmmmm …interesting problem
How about going to the nearest place that is in my existing traces ?
Geometric Travel Planning 11
Where am I ?
Sounds good .. But how to find that nearest place ? Voronoi Diagram to the rescue!!!
Geometric Travel Planning 12
Node localizationResults
# points
# queries
Construc-tion Time
Searching
Time (sec)
Naive Searchi
ng Time (sec)
1,277 1,277 0.10 0.30 12.60
1,706 1,706 0.24 0.54 24.29
2,365 2,365 0.33 1.14 43.3
50,000 50,000 13.73 14.26 >10,000
Geometric Travel Planning 13
My floppy is too small … how can I carry this file ?
Graph Compression
Geometric Travel Planning 14
My floppy is too small … how can I carry this file ?
Graph Compression (contd…)
Geometric Travel Planning 15
My floppy is too small … how can I carry this file ?
Graph Compression
Problem: The original layout is destroyed=> Restricted to perform the search only on intersection
points + start/end points of traces Shortest path only in terms of intersection points +
start/end points of traces. Solution:
A compression algorithm that can retain the original layout of the graph also.
Geometric Travel Planning 16
My floppy is too small … how can I carry this file ?
Graph Compression (contd…)
Algorithm
Hide the original edges
Delete the new edge
Geometric Travel Planning 17
My floppy is too small … how can I carry this file ?
Graph Compression (contd…)Results of Graph Compression
# Nodes#
Compressed Nodes
Time (sec)
1,473 199 0.01
1,777 74 0.02
2,481 130 0.03
54,267 4,391 0.59
Geometric Travel Planning 18
I have to reach the Cinema ASAP .. What to do ?
Search
Dijkstra – Single-Source shortest path. A* - Goal directed Dijkstra
Geometric Travel Planning 19
#PointsSweep
Time (sec)
SearchTime (sec)
Expansions
Dijkstra 50,000 11.13 0.27 44,009
A* 50,000 11.13 0.20 18,775
I have to reach the Cinema ASAP .. What to do ?
Search (results)
Geometric Travel Planning 20
I have to reach Cinema ASAP .. What to do ?
Search (results)
Number of queries is much more than the updates.
How about pre-computing some information ?
How about running All-pairs shortest path algorithm and saving all the paths:
Nope … O(n²) space
Geometric Travel Planning 21
Accelerating SearchBounding-Box pruning
With every edge, save a bounding box that contains at least the nodes that are reachable from the source node, on a shortest path using that edge.
s2 1 1 1
1
1 1 1 1 1 1
1
1
1
1 1 1 1
_/2
_/2
_/2
_/2
_/8
9,24
t
2
Geometric Travel Planning 22
Accelerating SearchBounding-Box pruning
In Dijkstra u DeleteMin(PQ) forall v \in adjacent_edges(u)
If t \in BB(u,v).....
.....
Endif endfor
Geometric Travel Planning 23
Accelerating SearchBounding-Box pruningResults of 200 queries
#NodesTime
+Expansions
+Time
–Expansion
s –
199 0.34 6,596 0.60 19,595
4,391 8.11 65,726 12.88 217,430
Geometric Travel Planning 24
GPS-ROUTE Architecture
Geometric Travel Planning 25
Summary
Presented Map generation from GPS traces. Geometric-, Graph- and AI-Algorithms Running GPS Route Planning System Available Visualisation with Vega Future:
Dynamic Updates Handling of large data sets
Top Related