![Page 1: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/1.jpg)
Lasse Deleuran1/37
Homotopic Polygonal Line Simplification
Lasse DeleuranPhD student
![Page 2: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/2.jpg)
Lasse Deleuran2/37
ContentMotivationOur ResultsRestricted simplificationUnrestricted simplificationSimplifying massive data
![Page 3: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/3.jpg)
Lasse Deleuran3/37
Motivation – Contour Lines
![Page 4: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/4.jpg)
Lasse Deleuran4/37
Motivation – Contour Lines
![Page 5: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/5.jpg)
Lasse Deleuran5/37
Motivation – Contour Lines
![Page 6: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/6.jpg)
Lasse Deleuran6/37
Motivation – Contour Lines
![Page 7: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/7.jpg)
Lasse Deleuran7/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
![Page 8: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/8.jpg)
Lasse Deleuran8/37
Definitions Polygonal line: P=p1,p2, … ,pn |P| = n-1
Homotopic poly. lines:
![Page 9: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/9.jpg)
Lasse Deleuran9/37
Homotopic X-Shortest Paths n polygonal paths of combined size m
Endpoints are the obstacles
Compute x-shortest path while maintaining homotopy
![Page 10: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/10.jpg)
Lasse Deleuran10/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)
![Page 11: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/11.jpg)
Lasse Deleuran11/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:
![Page 12: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/12.jpg)
Lasse Deleuran12/37
Restricted - Previous ResultsPrevious 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)
![Page 13: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/13.jpg)
Lasse Deleuran13/37
Previous ResultsProblemsOur AlgorithmExperimental Results
Simplifying a Massive Ammount of Polygons
![Page 14: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/14.jpg)
Lasse Deleuran14/37
Previous Results: Terrain vs PolygonsSimplifying 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
![Page 15: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/15.jpg)
Lasse Deleuran15/37
Challenges when SimplifyingToo many detailsMassive dataMaintain precisionMaintain topologyPrevent intersections
![Page 16: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/16.jpg)
Lasse Deleuran16/37
Challenges – Too Many Details
![Page 17: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/17.jpg)
Lasse Deleuran17/37
Challenges - Massive Data Denmark: 26B LIDAR points
12.4B grid cells
![Page 18: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/18.jpg)
Lasse Deleuran18/37
Challenges - Massive Data: I/O ModelRAM/internal memory size MUnbounded disk/external memoryTransfer in blocks of size BCPU only works on internal memory
M BCPU Disk
RAM
![Page 19: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/19.jpg)
Lasse Deleuran19/37
Massive Data - Practical AssumptionsAny polygon fits in memory (smaller than M)Segments intersecting any vertical line is < M
![Page 20: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/20.jpg)
Lasse Deleuran20/37
Challenges - Maintain Precision Simplification algorithms typically only consider
movement in the plane (x and y)
![Page 21: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/21.jpg)
Lasse Deleuran21/37
Challenges - Maintain Topology Topology: Parent / child relationships
Maintain topology through homotopy
![Page 22: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/22.jpg)
Lasse Deleuran22/37
Problems – Prevent Intersections Intersections with other polygons / self intersections
![Page 23: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/23.jpg)
Lasse Deleuran23/37
Algorithm Overview 1: Collect polygons (I/O-efficient) 2: I/O efficient polygon visiting (I/O-efficient) 3: Simplify polygons (internal)
![Page 24: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/24.jpg)
Lasse Deleuran24/37
1/3 - Collect Polygons
![Page 25: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/25.jpg)
Lasse Deleuran25/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
![Page 26: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/26.jpg)
Lasse Deleuran26/37
3/3 Simplify Polygons Basic Algorithm: Douglas Peucker
![Page 27: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/27.jpg)
Lasse Deleuran27/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
![Page 28: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/28.jpg)
Lasse Deleuran28/37
Simplifying – Adding Boundaries Construct Trapezoidal decomposition O(nlogn) Continue DP until inside of decomposition O(n2logn) Add contraint for z
![Page 29: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/29.jpg)
Lasse Deleuran29/37
Simplifying – Removing Intersections Sweep to find intersections O(nlogn) Continue DP on intersecting segments Repeat => O(n2logn)
![Page 30: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/30.jpg)
Lasse Deleuran30/37
Simplifying – Maintain Homotopy Trapezoidal sequence: ABCDCFCDEDE Contract XYX -> X Canonical Sequence: ABCDE
![Page 31: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/31.jpg)
Lasse Deleuran31/37
Simplifying – Maintain Homotopy Check segment for homotopy: O(n)
=> O(n2logn)
![Page 32: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/32.jpg)
Lasse Deleuran32/37
Practical Optimizations
![Page 33: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/33.jpg)
Lasse Deleuran33/37
Optimization 1 - Conditioning the Terrain
Fill up all holes with depth of less than 0.5m Do so for small hills too.
![Page 34: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/34.jpg)
Lasse Deleuran34/37
Optimization 2 - Exploit Bounding Boxes
![Page 35: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/35.jpg)
Lasse Deleuran35/37
Optimization 3 - Minimal Decompositions Too much time will be spent constructing
decompositions Only use edges that intersect bounding box
![Page 36: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/36.jpg)
Lasse Deleuran36/37
Setup Code in C++ using TPIE and TerraSTREAM Machine:
8-core Intel Xenon CPU @ 3.2GHz 12GB of RAM disk speed: 400MB/s
![Page 37: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568161ae550346895dd16d9b/html5/thumbnails/37.jpg)
Lasse Deleuran37/37
Results Results for Denmark dataset (12B points):
49 hours to simplify 4B segments on 7M contours Z-diff: 0.5m (Border contours: 0.2m) DP-error: 5m 600.000 self intersections
8.2% of the points remained after simplifying
Thank You