Frank used these slides during his talk in Chicago.
Paper:
Buchin K, Kusters V, Speckmann B, Staals F and Vasilescu B (2011), "A splitting line model for directional relations", In Proceedings of the 19th SIGSPATIAL International Conference on Advances in Geographic Information Systems. New York, NY, USA ACM.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
ACM GIS 2011
1. A splitting line model for directional relations
Kevin Buchin1 Vincent Kusters2 Bettina Speckmann1
Frank Staals3 Bogdan Vasilescu1
1 Eindhoven University of Technology
2 ETH Z¨rich
u 3 Utrecht University
November 3, 2011
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
2. Problem: direction between regions
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
3. Problem: direction between regions
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
4. Problem: direction between regions
Where is New York with respect to Illinois?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
5. Problem: direction between regions
Where is target polygon B with respect to reference polygon A?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
6. Problem: direction between regions
Centroids: B is northeast of A.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
7. Problem: direction between regions
Centroids: B is southwest of A.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
8. Problem: direction between regions
Matrix: B is south of A.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
9. Problem: direction between regions
Matrix: ????????
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
10. Directional relations are subjective
North or northwest?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
11. Directional relations are subjective
North or northwest? North, northeast, or east?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
12. Directional relations are subjective
North or northwest? North, northeast, or east? ????
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
13. Criteria for directional relations
Area
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
14. Criteria for directional relations
Area Alignment
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
15. Criteria for directional relations
Area Alignment Removal direction
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
16. Criteria for directional relations
Area Alignment Removal direction
Robustness
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
17. Criteria for directional relations
Area Alignment Removal direction
Robustness Affine transformation
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
18. A splitting line for directional relations
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
19. A splitting line for directional relations
Our Approach: Compute the best splitting line that separates A
and B.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
20. A splitting line for directional relations
Our Approach: Compute the best splitting line that separates A
and B.
Question: What does it mean to be the best splitting line?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
21. Measuring the quality of a splitting line
1 Divide the scene in slabs
A 2 Compute the quality of each
slab.
B
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
22. Measuring the quality of a splitting line
1 Divide the scene in slabs
A 2 Compute the quality of each
slab.
B ∞
Mline (y ) = M(x, y )dx
−∞
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
23. The slab measure M
User definable parameters.
M = ρ1 · f (B) · GoodA +
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
24. The slab measure M
Measures the amount of A on
M = ρ1 · f (B) · GoodA + the A-side.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA − A
ρ3 · ObstructA − ρ3 · ObstructB
B
criterion: Area
height(a)
GoodA =
area(A)
a∈TopA
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
25. The slab measure M
Measures the amount of A on
M = ρ1 · f (B) · GoodA + the A-side.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Area
height(a)
GoodA =
area(A)
a∈TopA
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
26. The slab measure M
Measures the amount of B on
M = ρ1 · f (B) · GoodA + the B-side.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Area
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
27. The slab measure M
Measures the alignment of
M = ρ1 · f (B) · GoodA + with A.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Alignment
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
28. The slab measure M
Measures the ease with which
M = ρ1 · f (B) · GoodA + A can be moved away from B.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Removal direction.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
29. The slab measure M
Measures the ease with which
M = ρ1 · f (B) · GoodA + B can be moved away from A.
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Removal direction.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
30. The slab measure M
Weighing functions:
M = ρ1 · f (B) · GoodA +
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Area
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
31. The slab measure M
Weighing functions:
M = ρ1 · f (B) · GoodA +
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Area
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
32. The slab measure M
Weighing functions:
M = ρ1 · f (B) · GoodA +
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
criterion: Area
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
33. The slab measure M
M = ρ1 · f (B) · GoodA +
ρ1 · g (A) · GoodB −
ρ2 · h(B) · AlignmentA −
ρ3 · ObstructA − ρ3 · ObstructB
How about Robustness and Affine transformation?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
34. ObstructB
A
B
height(a)
height(b) a∈{s|s∈TopA∧b>s}
ObstructB = ·
area(B) height(a)
b∈TopB
a∈TopA
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
35. ObstructB
A
B
height(a)
height(b) a∈{s|s∈TopA∧b>s}
ObstructB = ·
area(B) height(a)
b∈TopB
a∈TopA
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
36. AlignmentA
A
B
height(a)
height(w ) a∈{s|s∈TopA∧w <s}
AlignmentA = ·
height(s) area(A)
w ∈TopW ∪TopB
s∈Strip
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
37. AlignmentA
A
B
height(a)
height(w ) a∈{s|s∈TopA∧w <s}
AlignmentA = ·
height(s) area(A)
w ∈TopW ∪TopB
s∈Strip
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
38. An algorithm for Mline
d
Observation: Mline (y ) maximal if dy Mline (y ) = 0.
Algorithm
Sweep downwards and compute a description of Mline and its
derivative.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
39. Computing GoodA
GoodA(y , x)dx is a piecewise quadratic function in y :
y0
y1
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
40. Computing GoodA
GoodA(y , x)dx is a piecewise quadratic function in y :
y0
y1
Maintain set P of trapezoids intersected by .
P changes at most n times =⇒ O(n log n) to compute GoodA.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
41. Computing ObstructB
ObstructB(y , x)dx is the sum of rational functions in y :
hB (x)
y0
y1
Maintain hB (x): the amount of B above the sweep line.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
42. Computing ObstructB
ObstructB(y , x)dx is the sum of rational functions in y :
hB (x)
y0
y1
Maintain hB (x): the amount of B above the sweep line.
O(n2 ) events =⇒ O(n2 log n) to compute ObstructB.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
43. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
44. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
45. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use?
• Use the 8 compass directions
N,NE,E,..,NW
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
46. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use?
• Use the 8 compass directions
N,NE,E,..,NW
• Use k > 8 directions (for example
k = 360)
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
47. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use? B
• Use the 8 compass directions
N,NE,E,..,NW
• Use k > 8 directions (for example
k = 360)
A
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
48. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use? B
• Use the 8 compass directions
N,NE,E,..,NW
• Use k > 8 directions (for example
k = 360)
A
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
49. An algorithm for directional relations
Compute the optimal splitting line for each
direction and pick the best one.
Question: Which directions should we use? B
• Use the 8 compass directions
N,NE,E,..,NW
• Use k > 8 directions (for example
k = 360)
A
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
50. Optimal splitting lines using 360 directions
AL → MK BA → ME BG → MK CZ → PL DE → PL
FR → BE LV → LT MD → RO NL → BE NL → DE
RO → RS RS → BA SI → AT SK → CZ SK → HU
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
51. Splitting lines for directional relations
SplittingLine Matrix Centroids SplittingLine Matrix Centroids
no
result
E SW W W NW
no
result
NW N N NW SE
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
52. Splitting lines for directional relations
AT → DE SK → CZ NL → BE LT → LV BE → LU
SplittingLine NW NW S N SE
Centroids NW W SW NE SE
Matrix N NW S N -
BY → LV BY → UA GR → MK RO → HU CZ → DE
SplittingLine NW S N NW W
Centroids NW SE NW W W
Matrix N SE - W NW
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
53. Future Work
• 8 directions vs many
directions
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
54. Future Work
• 8 directions vs many
directions
• Non-linear separator (e.g.
curve or polyline)
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
55. Future Work
• 8 directions vs many
directions
• Non-linear separator (e.g.
curve or polyline)
• Are directional relations
(a)symmetric?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations
56. Future Work
• 8 directions vs many
directions
• Non-linear separator (e.g.
curve or polyline)
• Are directional relations
(a)symmetric?
Thank you! Questions?
K. Buchin, V. Kusters, B. Speckmann, F. Staals, B. Vasilescu A splitting line model for directional relations