370 likes | 492 Vues
This research delves into homotopic polygonal line simplification to effectively manage and simplify massive datasets, specifically contour lines. Our work introduces both restricted and unrestricted simplification methods while ensuring preservation of homotopy and maintaining topological integrity. We address historical challenges in effective contour representation and propose new algorithms that significantly reduce complexity while simplifying vast amounts of polygon data. Our findings are evidenced in multiple published papers and experimental results, showcasing enhancements in computational efficiency and precision. ###
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