History: Adler da Silva's Master Thesis | |||||||
Consistent Line Simplification in Cartographic Maps
SummaryLine simplification is the Cartographic Generalization operation that reduces the complexity of a line, while preserving its main shape features. It is one of the most used operations in this area, because lines correspond to almost 80% of the objects in common maps. Line simplification has been widely studied since the 1960's and many algorithms has been published. A brief review of these algorithms can be found in the PDF document Selection of Basic Algorithms. Consistent line simplification involves not only the reduction of the line complexity, but also the consistency between the original and the simplified maps. A map is said to be consistent to the original one, if it preserves the topology and keeps a perceptive distance among its objects. Consistent line simplification is a recent field in cartographic generalization. The first works were published in the mid-1990's. Most part of them apply the so-called local simplification, where a single line is simplified at a time and the simplification takes into consideration the objects in its vicinity. The result is a collection of simplified lines that are rejoined together in the simplified map. This work presents a new algorithm for handling consistency along a map simplification. It takes the relationship among all spatial objects into consideration during the process in a global simplification. This approach has many advantages and results in a excelent performance in comparison with the local simplification. This work also introduces a interesting for generating scale-independent maps that are consistent for all levels of detail. This technique is very useful for multi-scale GIS and can be used in progressive vector data loading or transmission. Problem StatementA planar map is basically formed by three types of objecs: points, lines and
areas. In the context of simplification, the algorithms are applied over every
line and contour of area of the map. They do not need to distinguish between
these two types of object. Instead, they see lines and contours of areas just
as a set of lines
In the context of consistent simplification, the algorithms should take into
consideration the consistency among the objects. In this case, the input of
the algorithms is the whole data of the map. As in simplification, however,
the areal objects can be considered as a particular case of lines. Thus,
besides the set of lines and contours of areas There are currently two main approachs of consistent simplification: the
local simplification and the global simplification. In the local
simplification, the lines of
In the global simplification, all lines of
Algorithm OverviewOur algorithm consists of a new technique to handle consistency along the simplification of a map. It basically preserves topological and proximity relationships among objects. In other words, it avoids intersections, self-intersections, wrong sidedness and exaggerated proximity. By doing this, it ensures that the information in the simplified map will not collapse, due to consistency errors. The algorithm is composed by three steps: simplification, intialization and correction, as shown in Figure 4.
1) The Simplification StepThe simplification step is pretty much similar to the isolated simplification process, as you can see in Figure 5. An important advantage of our algorithm over the other algorithms presented in litterature is that we may use any isolated algorithm, that modifies a polyline in a well-defined order and whose result is a subset of the vertices of the original polyline. Applicable algorithms: the Ramer-Douglas-Peucker and Visvalingam techniques.
2) The Initialization StepThe algorithm is based on an object called Consistency Recovery Unit
(CRU). After simplifying the collection of lines from the original map,
the algorithms create CRUs for monitoring the consistency between each line
segment of the simplified lines and its correspondent in the original lines.
In the initialization step, the CRUs are computed and their interdependencies.
We demonstrated that those unities can ensure the consistency maintenance along
a simplification process. Figure 6 shows the initialization step data flow.
The CRUs are highlighted in the figure and represented by the set
3) The Correction StepDetecting topological inconsistencies with respect to the original line, recovering these inconsistencies with use of CRU, and updating CRU, are performed iteratively until all inconsistencies are removed.
ImplementationThe implementation of our proposed algorithm may be downloaded by just clicking here. We may classify the codes we developed, in C/C++, in three functional groups:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. Publications
1) Master Thesis2) Papers | |||||||