2020-05-21 11:25:14 +03:00
|
|
|
\documentclass{article}
|
|
|
|
|
|
|
|
\usepackage[L7x,T1]{fontenc}
|
|
|
|
\usepackage[utf8]{inputenc}
|
2020-05-21 22:01:57 +03:00
|
|
|
\usepackage{a4wide}
|
2020-05-21 11:25:14 +03:00
|
|
|
\usepackage{csquotes}
|
|
|
|
\usepackage[english]{babel}
|
|
|
|
\usepackage[maxbibnames=99,style=authoryear]{biblatex}
|
|
|
|
\addbibresource{bib.bib}
|
|
|
|
\usepackage{hyperref}
|
|
|
|
\usepackage{caption}
|
|
|
|
\usepackage{subcaption}
|
|
|
|
\usepackage{gensymb}
|
|
|
|
\usepackage{varwidth}
|
|
|
|
\usepackage{tikz}
|
|
|
|
\usetikzlibrary{er,positioning}
|
2020-05-22 10:19:17 +03:00
|
|
|
\input{version}
|
2020-05-21 11:25:14 +03:00
|
|
|
|
|
|
|
\title{
|
2020-05-21 11:40:20 +03:00
|
|
|
Cartografic Generalization of Lines \\
|
|
|
|
(example of rivers) \\ \vspace{4mm}
|
2020-05-21 11:25:14 +03:00
|
|
|
}
|
|
|
|
|
2020-05-21 22:01:57 +03:00
|
|
|
\iffalse
|
2020-05-22 10:19:17 +03:00
|
|
|
small scale: 1:XXXXXX
|
|
|
|
large scale: 1:XXX
|
|
|
|
|
|
|
|
take douglas-pecker and check for different scales.
|
|
|
|
|
2020-05-21 22:01:57 +03:00
|
|
|
a4: 210x297mm
|
|
|
|
a6: 105x148xmm
|
|
|
|
a7: 74x105mm
|
|
|
|
a8: 52x74mm
|
2020-05-22 10:19:17 +03:00
|
|
|
|
|
|
|
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?
|
|
|
|
|
|
|
|
https://postgis.net/docs/ST_SimplifyVW.html
|
|
|
|
https://postgis.net/docs/ST_Simplify.html
|
|
|
|
https://postgis.net/docs/ST_SimplifyPreserveTopology.html
|
|
|
|
|
|
|
|
how is tolerance bound to scale?
|
|
|
|
- just use same parameter.
|
|
|
|
|
|
|
|
|
2020-05-21 22:01:57 +03:00
|
|
|
\fi
|
|
|
|
|
2020-05-21 11:25:14 +03:00
|
|
|
\author{Motiejus Jakštys}
|
|
|
|
|
2020-05-22 10:19:17 +03:00
|
|
|
\date{
|
|
|
|
\vspace{10mm}
|
|
|
|
Version: \VCDescribe \\ \vspace{4mm}
|
|
|
|
Generated At: \GeneratedAt
|
|
|
|
}
|
2020-05-21 11:25:14 +03:00
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
\section{Abstract}
|
|
|
|
\label{sec:abstract}
|
|
|
|
|
2020-05-21 16:41:29 +03:00
|
|
|
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 large-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 large-scale maps will look professionally downscaled.
|
2020-05-21 11:40:20 +03:00
|
|
|
|
2020-05-21 11:25:14 +03:00
|
|
|
\section{Introduction}
|
|
|
|
\label{sec:introduction}
|
|
|
|
|
2020-05-21 13:31:18 +03:00
|
|
|
Cartographic generalization is one of the key processes of creating large-scale
|
|
|
|
maps: how can one approximate object features, without losing its main
|
2020-05-21 16:41:29 +03:00
|
|
|
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.
|
2020-05-21 13:31:18 +03:00
|
|
|
|
2020-05-21 16:41:29 +03:00
|
|
|
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.
|
2020-05-21 13:31:18 +03:00
|
|
|
|
2020-05-21 16:41:29 +03:00
|
|
|
In this paper we explore algorithms which are derived from cartographic
|
|
|
|
knowledge and processes, so their output is as similar as an experienced
|
|
|
|
cartographer would create, thus most correct and visually appealing.
|
2020-05-21 13:31:18 +03:00
|
|
|
|
2020-05-21 18:20:44 +03:00
|
|
|
For comparison reasons, this article will be using a 4.4-kilometer subset of
|
|
|
|
Žeimena near Jaunadaris village (see figure~\ref{fig:zeimena} on
|
|
|
|
page~\pageref{fig:zeimena}). This location was chosen because it is a combination
|
|
|
|
of straight and curved river shape, and author's familiarity with the location.
|
2020-05-21 16:41:29 +03:00
|
|
|
|
|
|
|
\begin{figure}
|
|
|
|
\centering
|
2020-05-22 10:19:17 +03:00
|
|
|
\includegraphics[width=148mm]{zeimena-pretty}
|
2020-05-21 16:41:29 +03:00
|
|
|
\caption{Žeimena near Jaunadaris}
|
2020-05-21 18:20:44 +03:00
|
|
|
\label{fig:zeimena}
|
2020-05-21 16:41:29 +03:00
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
\section{Mathematical and geometrical algorithms}
|
|
|
|
|
|
|
|
To understand why geometrical algorithms are not entirely suitable for
|
2020-05-22 10:19:17 +03:00
|
|
|
downscaling, let's pick some visual examples. Start with
|
|
|
|
\cite{douglas1973algorithms}, one of the most well-known line simplification
|
|
|
|
algorithms, which is often used for generalization. Žeimena example is
|
|
|
|
generalized with different tolerances in figure~\ref{fig:douglas-peucker} on
|
|
|
|
page~\pageref{fig:douglas-peucker}.
|
2020-05-21 16:41:29 +03:00
|
|
|
|
2020-05-22 10:19:17 +03:00
|
|
|
As one can observe in figure~\ref{fig:douglas-100}, the Douglas \& Peucker with
|
|
|
|
100m tolerance preserves most of the shape, and 500m
|
|
|
|
(figure~\ref{fig:douglas-500}) becomes a straight line.
|
2020-05-21 13:31:18 +03:00
|
|
|
|
2020-05-22 10:19:17 +03:00
|
|
|
\begin{figure}
|
|
|
|
\centering
|
|
|
|
\begin{subfigure}[b]{0.18\textwidth}
|
|
|
|
\includegraphics[width=\textwidth]{zeimena}
|
|
|
|
\caption{original}
|
|
|
|
\label{fig:zeimena-original}
|
|
|
|
\end{subfigure}
|
|
|
|
~
|
|
|
|
\begin{subfigure}[b]{0.18\textwidth}
|
|
|
|
\includegraphics[width=\textwidth]{st-simplify-100}
|
|
|
|
\caption{100m}
|
|
|
|
\label{fig:douglas-100}
|
|
|
|
\end{subfigure}
|
|
|
|
~
|
|
|
|
\begin{subfigure}[b]{0.18\textwidth}
|
|
|
|
\includegraphics[width=\textwidth]{st-simplify-150}
|
|
|
|
\caption{150m}
|
|
|
|
\label{fig:douglas-150}
|
|
|
|
\end{subfigure}
|
|
|
|
~
|
|
|
|
\begin{subfigure}[b]{0.18\textwidth}
|
|
|
|
\includegraphics[width=\textwidth]{st-simplify-300}
|
|
|
|
\caption{300m}
|
|
|
|
\label{fig:douglas-300}
|
|
|
|
\end{subfigure}
|
|
|
|
~
|
|
|
|
\begin{subfigure}[b]{0.18\textwidth}
|
|
|
|
\includegraphics[width=\textwidth]{st-simplify-500}
|
|
|
|
\caption{500m}
|
|
|
|
\label{fig:douglas-500}
|
|
|
|
\end{subfigure}
|
|
|
|
\caption{Douglas \& Peucker line simplifications with different tolerances}
|
|
|
|
\label{fig:douglas-peucker}
|
|
|
|
\end{figure}
|
2020-05-21 16:41:29 +03:00
|
|
|
|
|
|
|
\section{Algorithms based on cartographical knowledge}
|
|
|
|
|
2020-05-22 10:19:17 +03:00
|
|
|
For further investigation:
|
|
|
|
\begin{itemize}
|
|
|
|
\item \cite{jiang2003line}
|
|
|
|
\item \cite{dyken2009simultaneous}
|
|
|
|
\item \cite{mustafa2006dynamic}
|
|
|
|
\item \cite{nollenburg2008morphing}
|
|
|
|
\end{itemize}
|
2020-05-21 11:25:14 +03:00
|
|
|
|
|
|
|
\section{My Idea}
|
|
|
|
\label{sec:my_idea}
|
|
|
|
|
|
|
|
\section{Related Work}
|
|
|
|
\label{sec:related_work}
|
|
|
|
|
2020-05-21 16:41:29 +03:00
|
|
|
\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. Their
|
|
|
|
research can provide references to the appropriate settings of the line
|
|
|
|
generalization parameters for the maps at various scales.
|
|
|
|
|
|
|
|
|
2020-05-21 11:25:14 +03:00
|
|
|
\section{Conclusions and Further Work}
|
|
|
|
\label{sec:conclusions_and_further_work}
|
|
|
|
|
|
|
|
\printbibliography
|
|
|
|
|
|
|
|
\end{document}
|