The Visvalingam algorithm is a polyline simplification operator used in the process of generalization. In said process, it will progressively eliminate any points that are less significant for the shape of the line’s definition.
It is therefore a very useful tool when the aim is to diminish the drawing’s volume or to represent a specific linear object on a smaller scale than the one for which it was originally conceived.
The Visvalingam algorithm is based on effective area concept, defined as the triangle area formed by each the line’s points and its two immediately neighboring points. The concept effectively signifies the adjustment the line suffers should that point be eliminated.
The algorithm’s simplification process consists of establishing a specific tolerance which will correspond to the effective area parameter, below which any points will be eliminated whose corresponding triangles are smaller in area than said tolerance. Firstly, the areas of all the triangles are calculated and the point with least effective area is eliminated. Once this point has been eliminated, all the areas are calculated once more and the point with least effective area is eliminated once again. And so on until all areas are greater than the tolerance value set.
Scheme of operation of Visvalingam algorithm.
Once the command has been executed, MDT will request the polylines that are to be modified and the tolerance value. The program will then apply the entire calculation process.
How the algorithm works by applying different tolerance values can be seen below.