\documentclass[a4paper]{article} \usepackage[L7x,T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{a4wide} \usepackage{csquotes} \usepackage[english]{babel} \usepackage[maxbibnames=99,style=authoryear]{biblatex} \usepackage[pdfusetitle]{hyperref} \usepackage{enumitem} \addbibresource{bib.bib} \usepackage{caption} \usepackage{subcaption} \usepackage{gensymb} \usepackage{varwidth} \usepackage{tabularx} \usepackage{tikz} \usetikzlibrary{er,positioning} \input{version} \newcommand{\DP}{Douglas \& Peucker} \newcommand{\VW}{Visvalingam--Whyatt} \newcommand{\WM}{Wang--M{\"u}ller} \title{ Cartografic Generalization of Lines \\ (example of rivers) \\ \vspace{4mm} } \iffalse https://bost.ocks.org/mike/simplify/ http://bl.ocks.org/msbarry/9152218 small scale: 1:XXXXXX large scale: 1:XXX a4: 210x297mm a6: 105x148xmm a7: 74x105mm a8: 52x74mm connect rivers first to a single polylines: - some algs can preserve connectivity, some not. ideal hypothesis: mueller algorithm + topology may fully realize cartographic generalization tasks. what scales and what distances? \fi \author{Motiejus Jakštys} \date{ \vspace{10mm} Version: \VCDescribe \\ \vspace{4mm} Generated At: \GeneratedAt } \begin{document} \maketitle \newpage \section{Abstract} \label{sec:abstract} Current open-source line generalization solutions have their roots in mathematics and geometry, thus emit poor cartographic output. Therefore, if one is using open-source technology to create a small-scale map, downscaled lines (e.g. rivers) will not be professionally scale-adjusted. This paper explores line generalization algorithms and suggests one for an avid GIS developer to implement. Once it is usable from within open-source GIS software (e.g. QGIS or PostGIS), rivers on these small-scale maps will look professionally downscaled. \section{Introduction} \label{sec:introduction} Cartographic generalization is one of the key processes of creating small-scale maps: how can one approximate object features, without losing its main cartographic properties? The problem is universally challenging across many geographical entities (\cite{muller1991generalization}, \cite{mcmaster1992generalization}). This paper focuses on line generalization, using natural rivers as examples. Line generalization algorithms are well studied, tested and implemented, but they expose deficiencies in large-scale reduction (\cite{monmonier1986toward}, \cite{mcmaster1993spatial}). Most of these techniques are based on mathematical shape representation, rather than cartographic characteristics of the line. 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: \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}. \end{itemize} During research, code has been written for all of the algorithms above, however, it is nowhere to be found completely, or in a usable form. There is one exception: \cite{wang1998line} is available for general use in a commercial product, but the author of this paper does not have means to try it. Therefore, this paper will be comparing algorithms that readily available for general public: \begin{itemize} \item \cite{douglas1973algorithms} via \href{https://postgis.net/docs/ST_Simplify.html}{PostGIS Simplify}. \item \cite{visvalingam1993line} via \href{https://postgis.net/docs/ST_SimplifyVW.html}{PostGIS SimplifyVW}. \end{itemize} This article will be using Lakaja and large part of Žeimena (see figure~\ref{fig:zeimena} on page~\pageref{fig:zeimena}). This location was chosen because the river exhibits both both straight and curved shape, is a combination of two curly rivers, and author's familiarity with the location. \begin{figure}[h] \centering \includegraphics[width=148mm]{zeimena-pretty} \caption{Lakaja and Žeimena} \label{fig:zeimena} \end{figure} \section{Visually comparing {\DP} and {\VW}} To visually evaluate the Žeimena sample, a few examples for {\DP} and {\VW} were created using the following parameters: \begin{enumerate}[label=(\Roman*)] \item {\DP} tolerance: $tolerance := 125 * 2^n, n = 0,1,...,5$. \item {\VW} tolerance: $vwtolerance = tolerance ^ 2$\label{itm:2}. \end{enumerate} Item~\ref{itm:2} requires explanation. Tolerance for {\DP} is specified in linear units, in this case, meters. Tolerance for {\VW} is specified in areal units, in this case, $m^2$. As author was not able to locate formal comparisons between the two (i.e. how to calculate one tolerance value from the other, so the results are comparable?), {\DP} tolerance was arbitrarily squared and fed to {\VW}. To author's eye, this provides comparable and reasonable results, though could be researched. As can be observed in table~\ref{tab:dp-vs-vw} on page~\pageref{tab:dp-vs-vw}, both simplication algorithms convert bends to chopped lines. This is especially visible in tolerances 250 and 500. In a more robust simplification algorithm, the larger tolerance, the larger the bends on the original map should be retained. \begin{figure}[h] \renewcommand{\tabularxcolumn}[1]{>{\center\small}m{#1}} \begin{tabularx}{\textwidth}{ p{1.5cm} | X | X | } Tolerance & Douglas \& Peucker & Visvalingam-Whyatt \tabularnewline \hline 125 & \includegraphics[width=\linewidth]{douglas-125} & \includegraphics[width=\linewidth]{visvalingam-125} \tabularnewline \hline 250 & \includegraphics[width=.5\linewidth]{douglas-250} & \includegraphics[width=.5\linewidth]{visvalingam-250} \tabularnewline \hline 500 & \includegraphics[width=.25\linewidth]{douglas-500} & \includegraphics[width=.25\linewidth]{visvalingam-500} \tabularnewline \hline 1000 & \includegraphics[width=.125\linewidth]{douglas-1000} & \includegraphics[width=.125\linewidth]{visvalingam-1000} \tabularnewline \hline 2000 & \includegraphics[width=.0625\linewidth]{douglas-2000} & \includegraphics[width=.0625\linewidth]{visvalingam-2000} \tabularnewline \hline 4000 & \includegraphics[width=.0625\linewidth]{douglas-4000} & \includegraphics[width=.0625\linewidth]{visvalingam-4000} \tabularnewline \hline \end{tabularx} \label{tab:dp-vs-vw} \caption{{\DP} and {\VW} side-by-side visual comparison.} \end{figure} \section{Suggested alternative} \label{sec:suggested_alternative} TODO: \begin{itemize} \item Describe algorithm by {\WM}. \item Explain how outputs will differ. \item Explain implementation plan? \end{itemize} \section{Related Work and future suggestions} \label{sec:related_work} \cite{stanislawski2012automated} studied different types of metric assessments, such as Hausdorff distance, segment length, vector shift, surface displacement, and tortuosity for the generalization of linear geographic elements. This research can provide references to the appropriate settings of the line generalization parameters for the maps at various scales. As noted in item~\ref{itm:2} on page~\pageref{itm:2}, it would be useful to have a formula mapping {\DP} tolerance to {\VW}. That way, visual comparisons between line simplification algorithms could be more objective. \section{Conclusions and Further Work} \label{sec:conclusions_and_further_work} We have practically evaluated two readily available line simplification algorithms with a river sample: {\VW} and {\DP}, and outlined their deficiencies. We are suggesting to implement {\WM} and compare it to the other two. \printbibliography \end{document}