commit 82b44004740b888cc74309f2d7b2ab5e1a6104d5 (tree)
parent a8dc7e82d5bd23a11ab82dd33f48a585a6254471
Author: Motiejus Jakštys <desired.mta@gmail.com>
Date: Tue, 26 May 2020 14:17:39 +0300
proper sinewave comparisons
Diffstat:
2 files changed, 42 insertions(+), 19 deletions(-)
diff --git a/II/Referatas/Makefile b/II/Referatas/Makefile
@@ -1,12 +1,13 @@
ZEIMENA_TOLERANCES = 100 125 250 500 1000 2000 4000
-SINEWAVE_TOLERANCES = 4 5
+SINEWAVE_TOLERANCES = 1 2 3 4
GEN = $(addsuffix .pdf, \
$(addprefix sinewave-douglas-,$(SINEWAVE_TOLERANCES)) \
+ $(addprefix sinewave-visvalingam-,$(SINEWAVE_TOLERANCES)) \
$(addprefix zeimena-douglas-,$(ZEIMENA_TOLERANCES)) \
$(addprefix zeimena-visvalingam-,$(ZEIMENA_TOLERANCES)))
mj-referatas.pdf: mj-referatas.tex version.tex bib.bib zeimena-pretty.pdf \
- sinewave.pdf sinewave-douglas-5.pdf $(GEN)
+ sinewave.pdf $(GEN)
latexmk -g -pdf $<
define algo2img
@@ -15,12 +16,13 @@ db/.faux_$(1)-$(2)-%: $(2).sql db/.faux_ready
touch $$@
$(1)-$(2)-%.pdf: layer2img.py db/.faux_$(1)-$(2)-%
- ./layer2img.py --table=$(1)_$(2)_$$* --size=52x74 --outfile $(1)-$(2)-$$*.pdf
+ ./layer2img.py --table=$(1)_$(2)_$$* --size=$(3) --outfile $(1)-$(2)-$$*.pdf
endef
-$(eval $(call algo2img,sinewave,douglas))
-$(eval $(call algo2img,zeimena,douglas))
-$(eval $(call algo2img,zeimena,visvalingam))
+$(eval $(call algo2img,sinewave,douglas,52x12))
+$(eval $(call algo2img,sinewave,visvalingam,52x12))
+$(eval $(call algo2img,zeimena,douglas,52x74))
+$(eval $(call algo2img,zeimena,visvalingam,52x74))
sinewave.gpkg: sinewave.py
./sinewave.py
diff --git a/II/Referatas/mj-referatas.tex b/II/Referatas/mj-referatas.tex
@@ -169,11 +169,11 @@ 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.
+As can be observed in table~\ref{tab:comparison-zeimena} on
+page~\pageref{tab:comparison-zeimena}, 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}}
@@ -206,12 +206,11 @@ retained.
\includegraphics[width=.0625\linewidth]{zeimena-douglas-4000} &
\includegraphics[width=.0625\linewidth]{zeimena-visvalingam-4000} \tabularnewline \hline
\end{tabularx}
- \caption{{\DP} and {\VW} side-by-side visual comparison}
- \label{tab:dp-vs-vw}
+ \caption{{\DP} and {\VW} side-by-side on Žeimena}
+ \label{tab:comparison-zeimena}
\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?
@@ -234,13 +233,35 @@ straight line, but too small to retain both and retain their complexity.
\end{figure}
When one applies {\DP} to figure~\ref{pic:sinewave}, either both bends remain,
-or become a straight line.
+or become a straight line, see table~\ref{tab:comparison-sinewave} on
+page~\pageref{tab:comparison-sinewave}.
\begin{figure}[h]
- \centering
- \includegraphics[width=52mm]{sinewave-douglas-5}
- \caption{Example bend, generalized}
- \label{pic:sinewave-douglas-5}
+ \renewcommand{\tabularxcolumn}[1]{>{\center\small}m{#1}}
+ \begin{tabularx}{\textwidth}{ p{1.5cm} | X | X | }
+ Tolerance DP/VW &
+ Douglas \& Peucker &
+ Visvalingam-Whyatt \tabularnewline \hline
+
+ 1/1 &
+ \includegraphics[width=\linewidth]{sinewave-douglas-1} &
+ \includegraphics[width=\linewidth]{sinewave-visvalingam-1} \tabularnewline \hline
+
+ 2/4 &
+ \includegraphics[width=\linewidth]{sinewave-douglas-2} &
+ \includegraphics[width=\linewidth]{sinewave-visvalingam-2} \tabularnewline \hline
+
+ 3/9 &
+ \includegraphics[width=\linewidth]{sinewave-douglas-3} &
+ \includegraphics[width=\linewidth]{sinewave-visvalingam-3} \tabularnewline \hline
+
+ 4/16 &
+ \includegraphics[width=\linewidth]{sinewave-douglas-4} &
+ \includegraphics[width=\linewidth]{sinewave-visvalingam-4} \tabularnewline \hline
+
+ \end{tabularx}
+ \caption{{\DP} and {\VW} on example wave}
+ \label{tab:comparison-sinewave}
\end{figure}
\section{Related Work and future suggestions}