\documentclass[a4paper]{article} \iffalse \usepackage[L7x,T1]{fontenc} \usepackage[lithuanian]{babel} \else \usepackage[T1]{fontenc} \usepackage[english]{babel} \fi \usepackage[utf8]{inputenc} \usepackage{a4wide} \usepackage{csquotes} \usepackage[maxbibnames=99,style=authoryear]{biblatex} \usepackage[pdfusetitle]{hyperref} \usepackage{enumitem} \usepackage[toc,page,title]{appendix} \addbibresource{bib.bib} \usepackage{caption} \usepackage{subcaption} \usepackage{gensymb} \usepackage{varwidth} \usepackage{tabularx} \usepackage{float} \usepackage{tikz} \usepackage{minted} \usetikzlibrary{er,positioning} \definecolor{mypurple}{RGB}{117,112,179} \input{version} \newcommand{\DP}{Douglas \& Peucker} \newcommand{\VW}{Visvalingam--Whyatt} \newcommand{\WM}{Wang--M{\"u}ller} \title{ Cartographic Generalization of Lines using free software \\ (example of rivers) \\ \vspace{4mm} } \iffalse \fi \author{Motiejus Jakštys} \date{ \vspace{10mm} Version: \VCDescribe } \begin{document} \maketitle \begin{abstract} \label{sec:abstract} 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 under and open-source license, explains things that we would had appreciated in the original paper and compares our results to different generalization algorithms. \end{abstract} \newpage \tableofcontents \listoffigures \newpage \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: \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 for the mentioned articles, prototype code has been written for most of the algorithms. However, none of them seem to be available for use except for the two "classical" ones -- {\DP} and {\VW}. \cite{wang1998line} is an algorithm specifically created for cartographic generalization and available for general use, though it is only currently available in a commercial product. This poses a problem for map creation in open source software: there is not a similar high-quality simplification algorithm to create down-scaled maps, so any cartographic work, which uses line generalization as part of its processing, will be of sub-par quality. We believe that availability of high-quality open-source tools is an important foundation for future cartographic experimentation and development, thus it it benefits the cartographic society as a whole. This paper will be reviewing and comparing two widely available algorithms that are often used for line generalization: \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} Since both algorithms produce jaggy output lines, it is worthwhile to process 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{Conclusions} \label{sec:conclusions} \section{Related Work and future suggestions} \label{sec:related_work} \printbibliography \begin{appendices} \section{Code listings} We strongly believe that ability to reproduce the graphs here is critical for the longevity of the work. Therefore we have added all the source files of this report to the PDF document itself. To extract the files (and, if desired, re-generate the report), run this simple script: \inputminted[fontsize=\small]{bash}{extract-and-generate} A working Docker installation, LaTeX environment \end{appendices} \end{document}