lasse deleuran 1/37 homotopic polygonal line simplification lasse deleuran phd student
TRANSCRIPT
Lasse Deleuran
2/37
Content
MotivationOur ResultsRestricted simplificationUnrestricted simplificationSimplifying massive data
Lasse Deleuran
7/37
Our Results
“Improving Homotopic Shortest Paths Using Homotopic X-Shortest Paths”, M. Abam and L. Deleuran, TBS
“Computing Homotopic Line Simplification in a Plane”, M. Abam, S. Daneshpajouh, L. Deleuran, S. Ehsani and M. Ghodsi, EuroCG 2011, Submitted to CGTA 2012
“Simplifying Massive Contour Maps”, L. Arge, L. Deleuran, T. Mølhave, M. Revsbæk, and J. Truelsen, ESA, 2012
Lasse Deleuran
9/37
Homotopic X-Shortest Paths n polygonal paths of combined size m
Endpoints are the obstacles
Compute x-shortest path while maintaining homotopy
Lasse Deleuran
10/37
Shortest Paths – Previous Work Efrat et al. ’06: expected time O(nlogε+1n+mlogn) Bespamyathnikh ’03: O(nlogε+1n+mlogn)
2-part approach: 1) Compute homotopic x-shortest paths2) Compute homotopic shortest paths
Use their 2. part to achieve O(nlogε+1n+m)
Lasse Deleuran
11/37
Restricted - Problem DefinitionGiven a path of size n, compute the paths with fewest points while
Only using original points Maintaining some error constraint Maintaining homotopy to m obstacle points
Strong vs weak homotopy:
Lasse Deleuran
12/37
Restricted - Previous Results
Previous ResultsImai & Iri ‘88: Framework for the problemHausdorff: Chan & Chin ’92 O(n2)Frechét Distance: Alt & Goday ’95 O(n3)L1 and Uniform metric: Agarwal & Varadarajan ’00 O(n4/3+ ε )
Our Results Compute strongly homotopic ”links”
X-monotone path in O(mlog(nm) + nlogn log(nm) + k) Any path in O(n(m + n)log(nm))
Compute homotopic shortest path in O(n6m2)
Lasse Deleuran
13/37
Previous ResultsProblemsOur AlgorithmExperimental Results
Simplifying a Massive Ammount of Polygons
Lasse Deleuran
14/37
Previous Results: Terrain vs Polygons
Simplifying terrain Agarwal, et. al. ’98 (I/O efficient contour generation) Agarwal, et. al. ’08 (I/O efficient map generation) Carr, et. al. ’10 (DEM Simplification) Garland & Heckbert ’97 (Surface Simplification) Agarwal, et. al. ’06 (I/O efficient conditioning)
Simplifying polygons See surveys by Mitchell ‘97, ‘98
Lasse Deleuran
15/37
Challenges when Simplifying
Too many detailsMassive dataMaintain precisionMaintain topologyPrevent intersections
Lasse Deleuran
18/37
Challenges - Massive Data: I/O Model
RAM/internal memory size MUnbounded disk/external memoryTransfer in blocks of size BCPU only works on internal memory
MB
CPU Disk
RAM
Lasse Deleuran
19/37
Massive Data - Practical Assumptions
Any polygon fits in memory (smaller than M)Segments intersecting any vertical line is < M
Lasse Deleuran
20/37
Challenges - Maintain Precision
Simplification algorithms typically only consider movement in the plane (x and y)
Lasse Deleuran
21/37
Challenges - Maintain Topology
Topology: Parent / child relationships Maintain topology through homotopy
Lasse Deleuran
22/37
Problems – Prevent Intersections
Intersections with other polygons / self intersections
Lasse Deleuran
23/37
Algorithm Overview 1: Collect polygons (I/O-efficient) 2: I/O efficient polygon visiting (I/O-efficient) 3: Simplify polygons (internal)
Lasse Deleuran
25/37
Polygons are neighbors if no other poly. divides them A polygon must be considered together w. neighbors
2/3 - I/O Efficient Polygon Visiting
Lasse Deleuran
27/37
Problems with Douglass Peucker
Running time O(n2), but O(nlogn) in practice No z-constraint / not constrained by other polygons Introduces self intersections, no homotopy
Lasse Deleuran
28/37
Simplifying – Adding Boundaries
Construct Trapezoidal decomposition O(nlogn) Continue DP until inside of decomposition O(n2logn) Add contraint for z
Lasse Deleuran
29/37
Simplifying – Removing Intersections
Sweep to find intersections O(nlogn) Continue DP on intersecting segments Repeat => O(n2logn)
Lasse Deleuran
30/37
Simplifying – Maintain Homotopy
Trapezoidal sequence: ABCDCFCDEDE Contract XYX -> X Canonical Sequence: ABCDE
Lasse Deleuran
33/37
Optimization 1 - Conditioning the Terrain
Fill up all holes with depth of less than 0.5m Do so for small hills too.
Lasse Deleuran
35/37
Optimization 3 - Minimal Decompositions
Too much time will be spent constructing decompositions
Only use edges that intersect bounding box
Lasse Deleuran
36/37
Setup
Code in C++ using TPIE and TerraSTREAM Machine:
8-core Intel Xenon CPU @ 3.2GHz 12GB of RAM disk speed: 400MB/s