diff --git a/mj-msc.tex b/mj-msc.tex index e2e0392..186e595 100644 --- a/mj-msc.tex +++ b/mj-msc.tex @@ -33,18 +33,15 @@ \newcommand{\WM}{Wang--M{\"u}ller} \title{ + \includegraphics[width=60mm]{vu.png}\\[8ex] Cartographic Generalization of Lines using free software \\ (example of rivers) \\ \vspace{4mm} } -\iffalse -\fi - \author{Motiejus Jakštys} \date{ - \vspace{10mm} - Version: \VCDescribe + \VCDescribe } \begin{document} @@ -55,7 +52,7 @@ Current open-source line generalization solutions have their roots in mathematics and geometry, and are not fit for natural objects like rivers - and coastlines. This paper discusses our implementation of \WM algorithm + and coastlines. This paper discusses our implementation of {\WM} algorithm under and open-source license, explains things that we would had appreciated in the original paper and compares our results to different generalization algorithms. @@ -71,16 +68,70 @@ Current open-source line generalization solutions have their roots in \section{Introduction} \label{sec:introduction} -A number of cartographic line generalization algorithms have been researched, -which claim to better process cartographic objects like lines. These fall into -two rough categories: +When creating small-scale maps, often the detail of the data source is greater +than desired for the map. This becomes especially acute for natural features +that have many bends, like coastlines, rivers and forest boundaries. + +To create a small-scale map from a large-scale data source, these features need +to be generalized: detail should be reduced. However, while doing so, it is +important to preserve the "defining" shape of the original feature, otherwise +the result will look unrealistic. + +For example, if a river is nearly straight, it should be nearly straight after +generalization, otherwise a too straightened river will look like a canal. +Conversely, if the river is highly wiggly, the number of bends should be +reduced, but not removed. + +Generalization problem for other objects can often be solved by other +non-geometric means: + +\begin{itemize} + \item Towns and cities can be filtered and generalized by number of + inhabitants. + \item Roads can be eliminated by the road length, number of lanes, or + classification of the road (local, regional, international). +\end{itemize} + +Natural line generalization problem can be viewed as having two competing +goals: + +\begin{itemize} + \item Reduce detail by removing or simplifying "less important" features. + \item Retain enough detail, so the original is still recognize-able. +\end{itemize} + +Given the discussed complexities, a fine line between under-generalization +(leaving object as-is) and over-generalization (making a straight line) must be +found. Therein lies the complexity of generalization algorithms: all have +different trade-offs. + +\section{Literature review} +\label{sec:literature-review} + +A number of cartographic line generalization algorithms have been researched. +The "classical" ones are {\DP} and {\VW}. + +\subsection{{\DP} and {\VW}} + +\cite{douglas1973algorithms} and \cite{visvalingam1993line} are "classical" +line generalization computer graphics algorithms. They are relatively simple to +implement, require few runtime resources. Both of them accept only a single +parameter, which makes them very simple to adjust for different scales. + +However, both of them are emitting insufficient + +\subsection{Modern approaches} + +After {\DP} and {\VW} have been established, + +These fall into two rough categories: + \begin{itemize} \item Cartographic knowledge was encoded to an algorithm (bottom-up approach). One among these are \cite{wang1998line}. - \item Mathematical shape transformation which yields a more - cartographically suitable down-scaling. E.g. \cite{jiang2003line}, - \cite{dyken2009simultaneous}, \cite{mustafa2006dynamic}, - \cite{nollenburg2008morphing}. + \item Mathematical shape transformation which yields a more cartographic + result. E.g. \cite{jiang2003line}, \cite{dyken2009simultaneous}, + \cite{mustafa2006dynamic}, \cite{nollenburg2008morphing}. \end{itemize} During research for the mentioned articles, prototype code has been written for @@ -113,10 +164,8 @@ those through a widely available \cite{chaikin1974algorithm} smoothing algorithm via \href{https://postgis.net/docs/ST_ChaikinSmoothing.html}{PostGIS ChaikinSmoothing}. -\section{Visual comparison} - -\subsection{Comparison algorithms and parameters} -\subsection{Combining bends} +\section{Methodology} +\label{sec:methodology} \section{Conclusions} \label{sec:conclusions} diff --git a/vu.png b/vu.png new file mode 100644 index 0000000..19870c3 Binary files /dev/null and b/vu.png differ