370 likes | 475 Views
Homotopic Polygonal Line Simplification Lasse Deleuran PhD student. Content. Motivation Our Results Restricted simplification Unrestricted simplification Simplifying massive data. Motivation – Contour Lines. Motivation – Contour Lines. Motivation – Contour Lines.
E N D
Homotopic Polygonal Line SimplificationLasse DeleuranPhD student
Content • Motivation • Our Results • Restricted simplification • Unrestricted simplification • Simplifying massive data
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
Definitions • Polygonal line:P=p1,p2, … ,pn |P| = n-1 • Homotopic poly. lines:
Homotopic X-Shortest Paths • n polygonal paths of combined size m • Endpoints are the obstacles • Compute x-shortest path while maintaining homotopy
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)
Restricted - Problem Definition • Given 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:
Restricted - Previous Results • Previous Results • Imai & Iri ‘88: Framework for the problem • Hausdorff: 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)
Simplifying a Massive Ammount of Polygons • Previous Results • Problems • Our Algorithm • Experimental Results
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
Challenges when Simplifying • Too many details • Massive data • Maintain precision • Maintain topology • Prevent intersections
Challenges- Massive Data • Denmark: 26B LIDAR points • 12.4B grid cells
M • Challenges- Massive Data: I/O Model • RAM/internal memory size M • Unbounded disk/external memory • Transfer in blocks of size B • CPU only works on internal memory RAM CPU Disk B
Massive Data - Practical Assumptions • Any polygon fits in memory (smaller than M) • Segments intersecting any vertical line is < M
Challenges- Maintain Precision • Simplification algorithms typically only consider movement in the plane (x and y)
Challenges- Maintain Topology • Topology: Parent / child relationships • Maintain topology through homotopy
Problems – Prevent Intersections • Intersections with other polygons / self intersections
Algorithm Overview • 1: Collect polygons(I/O-efficient) • 2:I/O efficient polygon visiting (I/O-efficient) • 3: Simplify polygons (internal)
2/3 - I/O Efficient Polygon Visiting • Polygons are neighbors if no other poly. divides them • A polygon must be considered together w. neighbors
3/3 Simplify Polygons • Basic Algorithm: Douglas Peucker
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
Simplifying – Adding Boundaries • Construct Trapezoidal decompositionO(nlogn) • Continue DP until inside of decomposition O(n2logn) • Add contraint for z
Simplifying – Removing Intersections • Sweep to find intersections O(nlogn) • Continue DP on intersecting segments • Repeat => O(n2logn)
Simplifying – Maintain Homotopy • Trapezoidal sequence: ABCDCFCDEDE • Contract XYX -> X • Canonical Sequence:ABCDE
Simplifying – Maintain Homotopy • Check segment for homotopy: O(n) • =>O(n2logn)
Optimization 1 - Conditioning the Terrain • Fill up all holes with depth of less than 0.5m • Do so for small hills too.
Optimization 3 - Minimal Decompositions • Too much time will be spent constructing decompositions • Only use edges that intersect bounding box
Setup • Code in C++ using TPIE and TerraSTREAM • Machine: • 8-core Intel Xenon CPU @ 3.2GHz • 12GB of RAM • disk speed: 400MB/s
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