USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL...
Transcript of USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL...
![Page 1: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/1.jpg)
using rational numbers and parallelcomputing to efficiently avoid round-offerrors on map simplification
Maurício G. Gruppi1
Salles V. G. de Magalhães1,2
Marcus V. A. Andrade1
W. Randolph Franklin2
Wenli Li2
1Departamento de Informática - Universidade Federal de Viçosa2Rensselaer Polytechnic Institute - USA
![Page 2: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/2.jpg)
Contents
1. Introduction∙ What is Map Simplification?∙ Topological Consistency
2. Related Works∙ Simplification Algorithms∙ Round-off Errors in Floating-point Arithmetic
3. Round-off Errors on Map Simplification4. The EPLSimp Method5. Experimental Evaluation6. Conclusions
1
![Page 3: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/3.jpg)
introduction
![Page 4: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/4.jpg)
Map Simplification
What is Map Simplification?
∙ It’s the process of reducing the amount of detail of a map.∙ Such as reducing the number of vertices of a polygonal chainwhen altering scale.
∙ However, there are key features that must be preserved.
3
![Page 5: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/5.jpg)
Map Simplification
(a) (b)
(a) shows an example of input set. A topologically consistentsimplification of (a) is shown in (b).
4
![Page 6: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/6.jpg)
Map Simplification
(a) (b)
(b) shows a topologically inconsistent simplification of (a).
5
![Page 7: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/7.jpg)
related works
![Page 8: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/8.jpg)
Simplification Algorithms
Ramer-Douglas-Peucker’s Algorithm (RDP)[Douglas and Peucker, 1973][Ramer, 1972]
∙ Simplification by selection.∙ May produce inconsistency.∙ [Saalfeld, 1999]∙ [Li et al., 2013]
7
![Page 9: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/9.jpg)
Simplification Algorithms
Visvalingam-Whyatt’s Algorithm (VW) [Visvalingam and Whyatt, 1993]
∙ Simplification by elimination.∙ Ranks points by effective area.∙ Removes points whose effective area is smaller than a giventhreshold.
8
![Page 10: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/10.jpg)
Simplification Algorithms
VW’s Algorithm
∙ Calculates every point’seffective area in L.
∙ Find the point p with smallesteffective area.
∙ Remove p from L.∙ Calculate the new effective areafor p’s neighbors.
9
![Page 11: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/11.jpg)
Simplification Algorithms
VW’s Algorithm∙ Calculates every point’seffective area in L.
∙ Definition: The effective area ofa polyline vertex vi is the areaof the triangle formed by vi−1, viand vi+1.
∙ Find the point p with smallesteffective area.
∙ Remove p from L.∙ Calculate the new effective areafor p’s neighbors.
9
![Page 12: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/12.jpg)
Simplification Algorithms
VW’s Algorithm∙ Calculates every point’seffective area in L.
∙ Find the point p with smallesteffective area.
∙ Remove p from L.∙ Calculate the new effective areafor p’s neighbors.
9
![Page 13: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/13.jpg)
Simplification Algorithms
VW’s Algorithm∙ Calculates every point’seffective area in L.
∙ Find the point p with smallesteffective area.
∙ Remove p from L.
∙ Calculate the new effective areafor p’s neighbors.
9
![Page 14: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/14.jpg)
Simplification Algorithms
VW’s Algorithm∙ Calculates every point’seffective area in L.
∙ Find the point p with smallesteffective area.
∙ Remove p from L.∙ Calculate the new effective areafor p’s neighbors.
9
![Page 15: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/15.jpg)
Simplification Algorithms
VW’s algorithm can produce topologically inconsistent results.
10
![Page 16: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/16.jpg)
Simplification Algorithms
VW’s Algorithm∙ Input: 2 polygonal chains (blackand red).
∙ Remove d from L.∙ An intersection has beencreated between both lines.
11
![Page 17: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/17.jpg)
Simplification Algorithms
VW’s Algorithm∙ Input: 2 polygonal chains (blackand red).
∙ Remove d from L.
∙ An intersection has beencreated between both lines.
11
![Page 18: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/18.jpg)
Simplification Algorithms
VW’s Algorithm∙ Input: 2 polygonal chains (blackand red).
∙ Remove d from L.∙ An intersection has beencreated between both lines.
11
![Page 19: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/19.jpg)
TopoVW
TopoVW [Gruppi et al., 2015]∙ Ranks points by effective area.∙ Checks for points inside eachp’s triangle.
∙ Removes p if there is none.∙ Stops when a certain number ofpoints have been removed.
12
![Page 20: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/20.jpg)
Round-off Errors In Floating Point Arithmetic
∙ Algorithms previously mentioned were designed for floating-pointarithmetic.
∙ Arbitrary precision numbers represented as fixed precisionnumbers.
∙ May incur round-off errors.∙ Therefore producing wrong results.
13
![Page 21: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/21.jpg)
Round-off Errors In Floating Point Arithmetic
∙ Round-off errors affect planarorientation predicate[Kettner et al., 2008].
∙ The problem of finding whetherthree points p, q, r:∙ are collinear.∙ make a left-turn.∙ make a right-turn.
14
![Page 22: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/22.jpg)
Round-off Errors In Floating Point Arithmetic
∙ Round-off errors affect planarorientation predicate[Kettner et al., 2008].
∙ The problem of finding whetherthree points p, q, r:∙ are collinear.∙ make a left-turn.∙ make a right-turn.
14
![Page 23: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/23.jpg)
Round-off Errors In Floating Point Arithmetic
∙ Round-off errors affect planarorientation predicate[Kettner et al., 2008].
∙ The problem of finding whetherthree points p, q, r:∙ are collinear.∙ make a left-turn.∙ make a right-turn.
14
![Page 24: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/24.jpg)
Round-off Errors In Floating Point Arithmetic
∙ Round-off errors affect planarorientation predicate[Kettner et al., 2008].
∙ The problem of finding whetherthree points p, q, r:∙ are collinear.∙ make a left-turn.∙ make a right-turn.
14
![Page 25: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/25.jpg)
Round-off Errors In Floating Point Arithmetic
orientation = sign
∣∣∣∣∣∣∣1 px py1 qx qy1 rx ry
∣∣∣∣∣∣∣
∙ +: left turn.∙ -: right turn.∙ 0: collinear.
∙ rounding to zero.∙ perturbed zero.∙ sign-inversion.
15
![Page 26: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/26.jpg)
Round-off Errors In Floating Point Arithmetic
orientation = sign
∣∣∣∣∣∣∣1 px py1 qx qy1 rx ry
∣∣∣∣∣∣∣
Sign:∙ +: left turn.∙ -: right turn.∙ 0: collinear.
∙ rounding to zero.∙ perturbed zero.∙ sign-inversion.
15
![Page 27: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/27.jpg)
Round-off Errors In Floating Point Arithmetic
orientation = sign
∣∣∣∣∣∣∣1 px py1 qx qy1 rx ry
∣∣∣∣∣∣∣
Sign:∙ +: left turn.∙ -: right turn.∙ 0: collinear.
Possible problems:∙ rounding to zero.∙ perturbed zero.∙ sign-inversion.
15
![Page 28: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/28.jpg)
Round-off Errors In Floating Point Arithmetic
Result of the planar orientation problem using floating-point arithmetic.Source: [Kettner et al., 2008].
16
![Page 29: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/29.jpg)
round-off errors on map simplification
![Page 30: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/30.jpg)
Round-off Errors in Map Simplification
We have tested floating-point round-off errors on mapsimplification:
∙ We needed to determine whether p is inside triangle T formed by(r, s, t).
∙ This was done by using barycentric coordinates of p in T.
18
![Page 31: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/31.jpg)
Round-off Errors on Map Simplification
Let a, b and c be scalars such that:
∙ px = arx + bsx + crx∙ py = ary + bsy + cry∙ a + b + c = 1
p lies inside T if and only if 0 ≤ a,b, c ≤ 1
19
![Page 32: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/32.jpg)
Round-off Errors on Map Simplification
∙ A function is_inside(r, s, t,p) was implemented in C++ usingfloating-point numbers.
∙ false inside: outer point said inside.∙ false outside: inner point said outside.
20
![Page 33: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/33.jpg)
Round-off Errors on Map Simplification
∙ A function is_inside(r, s, t,p) was implemented in C++ usingfloating-point numbers.
∙ false inside: outer point said inside.
∙ false outside: inner point said outside.
20
![Page 34: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/34.jpg)
Round-off Errors on Map Simplification
∙ A function is_inside(r, s, t,p) was implemented in C++ usingfloating-point numbers.
∙ false inside: outer point said inside.∙ May prevent simplification.
∙ false outside: inner point said outside.
20
![Page 35: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/35.jpg)
Round-off Errors on Map Simplification
∙ A function is_inside(r, s, t,p) was implemented in C++ usingfloating-point numbers.
∙ false inside: outer point said inside.∙ false outside: inner point said outside.
20
![Page 36: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/36.jpg)
Round-off Errors on Map Simplification
∙ A function is_inside(r, s, t,p) was implemented in C++ usingfloating-point numbers.
∙ false inside: outer point said inside.∙ false outside: inner point said outside.∙ May create improper intersections and self-intersections.
20
![Page 37: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/37.jpg)
Round-off errors on map simplification
(a) (b)
p was a false outside. Thus the removal of q was possible, creatingself-intersections.
21
![Page 38: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/38.jpg)
Solution to Round-off Errors
∙ ϵ-tweaking∙ Snap-rounding∙ Exact Arithmetic
22
![Page 39: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/39.jpg)
ϵ-tweaking
ϵ-tweaking uses a tolerance value when comparing two numbers:
x = y, if |x− y| ≤ ϵ.
∙ Automatically activates rounding to zero.∙ Finding ϵ is difficult. Especially for big datasets.
23
![Page 40: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/40.jpg)
Snap-rounding
Snap-rounding splits the map into pixels (cells). Rounds everyendpoint to the center of its bounding pixel.
Figure: (a) before snap-rounding. (b) after snap-rounding. Intersectionswere introduced.
24
![Page 41: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/41.jpg)
Exact Arithmetic With Rational Numbers
Exact Arithmetic with Rational Numbers:
∙ Non-integer variables are represented as arbitrary precisionrational numbers.
∙ Slower than floating-point arithmetic but round-off errors free.∙ Overhead can be reduced using parallel computation.
25
![Page 42: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/42.jpg)
Our Method
∙ EPLSimp uses exact arithmetic for simplifying polylines.∙ A uniform-grid structure is used for determining which pointsneeded to be tested for each triangle.
∙ Parallel computing used for performance.∙ Lines are then subdivided into sets that can be simplified inparallel.
26
![Page 43: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/43.jpg)
Our Method
∙ Construct a uniform-grid inparallel.
27
![Page 44: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/44.jpg)
Our Method
∙ Construct a uniform-grid inparallel.
∙ Simplify line R.
27
![Page 45: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/45.jpg)
Our Method
∙ Construct a uniform-grid inparallel.
∙ Simplify line R.∙ Decrease grid resolution.∙ More lines inside single cells.∙ Allows parallel simplification.
27
![Page 46: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/46.jpg)
Our Method
∙ Simplify line S.
27
![Page 47: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/47.jpg)
Our Method
∙ Simplify line S.∙ Decrease grid resolution.
27
![Page 48: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/48.jpg)
Our Method
∙ Simplify line S.∙ Decrease grid resolution.∙ Simplify the remaining lines (ifany).
27
![Page 49: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/49.jpg)
experimental results
![Page 50: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/50.jpg)
Experimental Results - Consistency
∙ EPLSimp was implemented in C++ using the GMPXX library[Granlund and the GMP development team, 2014].
∙ Artificial datasets were created to evaluate the occurrence ofround-off errors.
∙ EPLSimp did not produce any topological inconsistencies.
29
![Page 51: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/51.jpg)
Experimental Results - Performance
Table: Times (in ms) for the main steps of the map simplification algorithms. Rows Maxrepresent the time for removing the maximum amount of points from the map while rows Halfrepresent the time to remove half of the points.
Dataset 1 2 3Method TopoVW EPLSimp TopoVW EPLSimp TopoVW EPLSimp
Max. Initialize 4 22 28 190 1828 5353
Simplify 39 60 626 445 46069 57095Total 43 82 654 635 47897 62448
Half
Initialize 4 22 28 186 1847 5447Simplify 25 41 357 331 23021 48090Total 29 63 384 517 24868 53537
30
![Page 52: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/52.jpg)
Experimental Results - Performance
Table: Times (in ms) for initializing and simplifying maps from the 3 datasets consideringdifferent number of threads. The simplification was configured to remove the maximum amountof points from the maps.
Initialization SimplificationDataset 1 2 3 1 2 3
Threads
1 71 655 26833 176 1574 2502372 91 568 15483 152 1150 1313104 54 422 9853 99 689 826418 34 240 6552 61 483 6208916 22 190 5353 60 445 57095
31
![Page 53: USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO ... · USING RATIONAL NUMBERS AND PARALLEL COMPUTING TO EFFICIENTLY AVOID ROUND-OFF ERRORS ON MAP SIMPLIFICATION Author: Maurício](https://reader033.fdocuments.in/reader033/viewer/2022060207/5f03f5f07e708231d40b9fce/html5/thumbnails/53.jpg)
Conclusions
∙ We were able to avoid round-off errors using exact arithmetic withrational numbers.
∙ Parallel computing helped alleviating the overhead, approachingfloating-point’s processing time.
∙ Future works include:∙ Adapting EPLSimp for simplifying vector drawings and 3D objects.∙ Use exact arithmetic for other GIS algorithms.
32