add sine wave example
This commit is contained in:
parent
068bb3a546
commit
17d047bc49
@ -1,9 +1,16 @@
|
|||||||
\documentclass[a4paper]{article}
|
\documentclass[a4paper]{article}
|
||||||
|
|
||||||
|
\iffalse
|
||||||
\usepackage[L7x,T1]{fontenc}
|
\usepackage[L7x,T1]{fontenc}
|
||||||
|
\usepackage[lithuanian]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[english]{babel}
|
||||||
|
\fi
|
||||||
|
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage{a4wide}
|
\usepackage{a4wide}
|
||||||
\usepackage{csquotes}
|
\usepackage{csquotes}
|
||||||
\usepackage[english]{babel}
|
|
||||||
\usepackage[maxbibnames=99,style=authoryear]{biblatex}
|
\usepackage[maxbibnames=99,style=authoryear]{biblatex}
|
||||||
\usepackage[pdfusetitle]{hyperref}
|
\usepackage[pdfusetitle]{hyperref}
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
@ -58,11 +65,8 @@ what scales and what distances?
|
|||||||
\begin{document}
|
\begin{document}
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
\newpage
|
\begin{abstract}
|
||||||
|
|
||||||
\section{Abstract}
|
|
||||||
\label{sec:abstract}
|
\label{sec:abstract}
|
||||||
|
|
||||||
Current open-source line generalization solutions have their roots in
|
Current open-source line generalization solutions have their roots in
|
||||||
mathematics and geometry, thus emit poor cartographic output. Therefore, if one
|
mathematics and geometry, thus emit poor cartographic output. Therefore, if one
|
||||||
is using open-source technology to create a small-scale map, downscaled lines
|
is using open-source technology to create a small-scale map, downscaled lines
|
||||||
@ -70,6 +74,12 @@ is using open-source technology to create a small-scale map, downscaled lines
|
|||||||
line generalization algorithms and suggests one for an avid GIS developer to
|
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
|
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.
|
PostGIS), rivers on these small-scale maps will look professionally downscaled.
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
\listoffigures
|
||||||
|
|
||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
\label{sec:introduction}
|
\label{sec:introduction}
|
||||||
@ -78,13 +88,20 @@ Cartographic generalization is one of the key processes of creating small-scale
|
|||||||
maps: how can one approximate object features, without losing its main
|
maps: how can one approximate object features, without losing its main
|
||||||
cartographic properties? The problem is universally challenging across many
|
cartographic properties? The problem is universally challenging across many
|
||||||
geographical entities (\cite{muller1991generalization},
|
geographical entities (\cite{muller1991generalization},
|
||||||
\cite{mcmaster1992generalization}). This paper focuses on line generalization,
|
\cite{mcmaster1992generalization}). This paper focuses on line generalization
|
||||||
using natural rivers as examples.
|
for natural rivers: which algorithm should be picked when down-scaling a river
|
||||||
|
map?
|
||||||
|
|
||||||
Line generalization algorithms are well studied, tested and implemented, but
|
We examine readily available open-source algorithms using a concrete
|
||||||
they expose deficiencies in large-scale reduction (\cite{monmonier1986toward},
|
cartographical example, and make a suggestion on which algorithm could be
|
||||||
\cite{mcmaster1993spatial}). Most of these techniques are based on mathematical
|
implemented next.
|
||||||
shape representation, rather than cartographic characteristics of the line.
|
|
||||||
|
\section{What's available}
|
||||||
|
|
||||||
|
Line generalization algorithms are well studied, but 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,
|
A number of cartographic line generalization algorithms have been researched,
|
||||||
which claim to better process cartographic objects like lines. These fall into
|
which claim to better process cartographic objects like lines. These fall into
|
||||||
@ -98,13 +115,12 @@ two rough categories:
|
|||||||
\cite{nollenburg2008morphing}.
|
\cite{nollenburg2008morphing}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
During research, code has been written for all of the algorithms above,
|
During research for the mentioned papers, code has been written for all of the
|
||||||
however, it is nowhere to be found completely, or in a usable form. There is
|
algorithms above, however, is not to be found in a usable form.
|
||||||
one exception: \cite{wang1998line} is available for general use in a commercial
|
\cite{wang1998line} is available in a commercial product, but the author of
|
||||||
product, but the author of this paper does not have means to try it.
|
this paper does not have means to try it.
|
||||||
|
|
||||||
Therefore, this paper will be comparing algorithms that readily available for
|
To sum up, this paper will be comparing the following algorithms:
|
||||||
general public:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \cite{douglas1973algorithms} via
|
\item \cite{douglas1973algorithms} via
|
||||||
\href{https://postgis.net/docs/ST_Simplify.html}{PostGIS Simplify}.
|
\href{https://postgis.net/docs/ST_Simplify.html}{PostGIS Simplify}.
|
||||||
@ -113,10 +129,12 @@ general public:
|
|||||||
\href{https://postgis.net/docs/ST_SimplifyVW.html}{PostGIS SimplifyVW}.
|
\href{https://postgis.net/docs/ST_SimplifyVW.html}{PostGIS SimplifyVW}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
This article will be using Lakaja and large part of Žeimena (see
|
\section{Visual comparison}
|
||||||
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
|
Lakaja and large part of Žeimena (see figure~\ref{fig:zeimena} on
|
||||||
combination of two curly rivers, and author's familiarity with the location.
|
page~\pageref{fig:zeimena}) will be used, 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]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
@ -125,9 +143,7 @@ combination of two curly rivers, and author's familiarity with the location.
|
|||||||
\label{fig:zeimena}
|
\label{fig:zeimena}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Visually comparing {\DP} and {\VW}}
|
To visually evaluate the Žeimena sample, examples for {\DP} and {\VW}
|
||||||
|
|
||||||
To visually evaluate the Žeimena sample, a few examples for {\DP} and {\VW}
|
|
||||||
were created using the following parameters:
|
were created using the following parameters:
|
||||||
|
|
||||||
\begin{enumerate}[label=(\Roman*)]
|
\begin{enumerate}[label=(\Roman*)]
|
||||||
@ -135,13 +151,13 @@ were created using the following parameters:
|
|||||||
\item {\VW} tolerance: $vwtolerance = tolerance ^ 2$\label{itm:2}.
|
\item {\VW} tolerance: $vwtolerance = tolerance ^ 2$\label{itm:2}.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
Item~\ref{itm:2} requires explanation. Tolerance for {\DP} is specified in
|
Parameter~\ref{itm:2} requires explanation. Tolerance for {\DP} is specified in
|
||||||
linear units, in this case, meters. Tolerance for {\VW} is specified in areal
|
linear units, in this case, meters. Tolerance for {\VW} is specified in area
|
||||||
units, in this case, $m^2$. As author was not able to locate formal comparisons
|
units $m^2$. As author was not able to locate formal comparisons between the
|
||||||
between the two (i.e. how to calculate one tolerance value from the other, so
|
two (i.e. how to calculate one tolerance value from the other, so the results
|
||||||
the results are comparable?), {\DP} tolerance was arbitrarily squared and fed
|
are comparable?), {\DP} tolerance was arbitrarily squared and fed to {\VW}. To
|
||||||
to {\VW}. To author's eye, this provides comparable and reasonable results,
|
author's eye, this provides comparable and reasonable results, though could be
|
||||||
though could be researched.
|
researched.
|
||||||
|
|
||||||
As can be observed in table~\ref{tab:dp-vs-vw} on page~\pageref{tab:dp-vs-vw},
|
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
|
both simplication algorithms convert bends to chopped lines. This is especially
|
||||||
@ -180,14 +196,37 @@ retained.
|
|||||||
\includegraphics[width=.0625\linewidth]{douglas-4000} &
|
\includegraphics[width=.0625\linewidth]{douglas-4000} &
|
||||||
\includegraphics[width=.0625\linewidth]{visvalingam-4000} \tabularnewline \hline
|
\includegraphics[width=.0625\linewidth]{visvalingam-4000} \tabularnewline \hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\caption{{\DP} and {\VW} side-by-side visual comparison.}
|
\caption{{\DP} and {\VW} side-by-side visual comparison}
|
||||||
\label{tab:dp-vs-vw}
|
\label{tab:dp-vs-vw}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
To sum up, both {\VW} and {\DP} simplify the lines, but their cartographic
|
||||||
|
output poorly represents lines and bends. Where to look for better output?
|
||||||
|
|
||||||
\section{Suggested alternative}
|
\section{Suggested alternative}
|
||||||
\label{sec:suggested_alternative}
|
\label{sec:suggested_alternative}
|
||||||
|
|
||||||
TODO:
|
{\WM} observed how professional cartographers are simplifying rivers and encoded it
|
||||||
|
to an algorithm which can be implemented by a computer.
|
||||||
|
|
||||||
|
Imagine there are two small bends close to each other, similar to
|
||||||
|
figure~\ref{pic:example-bend} on page~\pageref{pic:example-bend}, and one needs
|
||||||
|
to generalize it. The bends are too large to ignore replace them with a
|
||||||
|
straight line, but too small to retain both and retain their complexity.
|
||||||
|
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[xscale=.5]
|
||||||
|
\draw (-4,-1) -- (-1, -1);
|
||||||
|
\draw (-1,-1) cos (0,0) sin (1,1) cos (2,0) sin (3,-1) cos (4,0) sin (5,1) cos(6,0) sin (7,-1);
|
||||||
|
\draw (7,-1) -- (10, -1);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{Example river bend that should be generalized}
|
||||||
|
\label{pic:example-bend}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
We would imagine
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Describe algorithm by {\WM}.
|
\item Describe algorithm by {\WM}.
|
||||||
\item Explain how outputs will differ.
|
\item Explain how outputs will differ.
|
||||||
@ -203,12 +242,12 @@ and tortuosity for the generalization of linear geographic elements. This
|
|||||||
research can provide references to the appropriate settings of the line
|
research can provide references to the appropriate settings of the line
|
||||||
generalization parameters for the maps at various scales.
|
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
|
As noted in parameter~\ref{itm:2} on page~\pageref{itm:2}, it would be useful
|
||||||
have a formula mapping {\DP} tolerance to {\VW}. That way, visual comparisons
|
to have a formula mapping {\DP} tolerance to {\VW}. That way, visual
|
||||||
between line simplification algorithms could be more objective.
|
comparisons between line simplification algorithms could be more objective.
|
||||||
|
|
||||||
\section{Conclusions and Further Work}
|
\section{Conclusions}
|
||||||
\label{sec:conclusions_and_further_work}
|
\label{sec:conclusions}
|
||||||
|
|
||||||
We have practically evaluated two readily available line simplification
|
We have practically evaluated two readily available line simplification
|
||||||
algorithms with a river sample: {\VW} and {\DP}, and outlined their
|
algorithms with a river sample: {\VW} and {\DP}, and outlined their
|
||||||
|
Loading…
Reference in New Issue
Block a user