603 - 5885 1250 (4 lines) info@mes100.com
View Categories

Snap Rounding

2 min read

Project file for reference

If you find that the area of before and after input is slightly different, it is caused by the Snap Rounding algorithm that we use in the software, to cater the imprecise input from users. Provided in this article is a simple example (may as well download the project provided above) for an easy understanding. For more details for technical understanding, you may refer to this website; CGAL 5.0.2 – 2D Rounding. 

As you notice, the area of the input by the user is 529.316 m2 and the output coming out from the software after analysis is 528.9 m2. The small discrepancy between the results is due to Snap Rounding algorithm.

What is Snap Rounding? #

Snap Rounding is a method to approximate line segments by creating grids and modifying the line segment vertex to be at least half of the pixel grid, in order to convert the line into a fixed precision representation. 

Before Snap Rounding:

Imprecise input of line
(Image courtesy from https://doc.cgal.org/latest/Snap_rounding_2/index.html)

After Snap Rounding:

Each of the vertex of the line is modified to be at the centre of the grid

How does it affect the outcome #

50 mm is the size of pixels given in the MiTS software by default. Therefore, the line segments are created based on the dimension of the pixel (line is adjusted to be at the centre of the pixel dimension). Therefore, the bigger the pixel size, the higher the tolerance of the line adjustment and causes discrepancy in the results in terms of dimension, cut/fill area and volume between before and after analysis due to the modification. However, if you need to be precisely the same between after result and the before, the pixel needs to be reduced but the drawback is that it will take longer to analyse and prone to create overlapped platforms (which is explained in this blog post; “EW3D: How does EW3D Handle Inaccuracy In Input”). 

Take a look at the example below (project file is provided at the top of this article):

Dimension #

 Pixel Size : 50 mm (default)

529.316 m2 is the dimension defined by the user, and 528.9 m2 is the dimension after analysis which is adjusted by the Snap Rounding Algorithm with 50 mm default pixel size. 

Pixel Size: 5 mm (Lower Tolerance)

Before and after adjustment area are the same (difference is only due to different decimal places) 

Volume #

If the area is affected by snap rounding, of course the volume of cut/fill also will be affected. 

Pixel Size: 50 mm (default)

With 528.9 m2 of area gives the result of Export/Import 16560.55 m3

Pixel Size: 5 mm

With lower tolerance, the Export/Import volume gives the result of 16573.56 m3.

Conclusion #

Snap rounding algorithm is the modification made towards the line segment in order to cater the imprecise input. The vertex of the line segment will be adjusted to be at the center of the pixel grid. Therefore, the bigger the pixel size, the higher the tolerance is and will reduce the overlapping platform as explained in the blog post “EW3D: How does EW3D Handle Inaccuracy In Input”.

If the pixel size is reduced, the tolerance is lowered and the discrepancy between user input and after modification will be lowered, although the discrepancy between 50 mm pixel with 5 mm is too small (less than 1%). It also has its own disadvantage, which is the platforms are inclined to be overlapped and are meticulous to adjust them. More explanation, you may refer to the blog post “EW3D: How does EW3D Handle Inaccuracy In Input”.

Powered by BetterDocs

× WhatsApp Help