Add zoom too

This commit is contained in:
Motiejus Jakštys 2021-05-19 22:57:52 +03:00 committed by Motiejus Jakštys
parent 727dadcbdd
commit d292985a6c
2 changed files with 82 additions and 82 deletions

View File

@ -32,15 +32,15 @@ FIGURES = \
RIVERS = \ RIVERS = \
salvis-25k \ salvis-25k \
salvis-50k \ salvis-2x50k \
salvis-250k-10x \ salvis-250k-10x \
salvis-grpk250-2x \ salvis-grpk250-2x \
salvis-dp64-50k \ salvis-dp64-2x50k \
salvis-vw64-50k \ salvis-vw64-2x50k \
salvis-dpchaikin64-50k \ salvis-dpchaikin64-2x50k \
salvis-vwchaikin64-50k \ salvis-vwchaikin64-2x50k \
salvis-overlaid-dpchaikin64-50k \ salvis-overlaid-dpchaikin64-2x50k \
salvis-overlaid-vwchaikin64-50k \ salvis-overlaid-vwchaikin64-2x50k \
salvis-wm220-10x \ salvis-wm220-10x \
salvis-wm220-2x \ salvis-wm220-2x \
salvis-wm-overlaid-250k-zoom \ salvis-wm-overlaid-250k-zoom \
@ -149,20 +149,20 @@ legend_tr = lower right
legend_tl = lower center legend_tl = lower center
define wm_vwdp50k define wm_vwdp50k
RIVERS += salvis-$(1)-$(2)-$(3)-50k$(4) RIVERS += salvis-$(1)-$(2)-$(3)-1x50k$(4)
salvis-$(1)-$(2)-$(3)-50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)' salvis-$(1)-$(2)-$(3)-1x50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)'
salvis-$(1)-$(2)-$(3)-50k$(4)_1COLOR = orange salvis-$(1)-$(2)-$(3)-1x50k$(4)_1COLOR = orange
salvis-$(1)-$(2)-$(3)-50k$(4)_1LABEL = $(label_$(1)) salvis-$(1)-$(2)-$(3)-1x50k$(4)_1LABEL = $(label_$(1))
salvis-$(1)-$(2)-$(3)-50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)' salvis-$(1)-$(2)-$(3)-1x50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)'
salvis-$(1)-$(2)-$(3)-50k$(4)_2COLOR = green salvis-$(1)-$(2)-$(3)-1x50k$(4)_2COLOR = green
salvis-$(1)-$(2)-$(3)-50k$(4)_2LABEL = $(label_$(2)) salvis-$(1)-$(2)-$(3)-1x50k$(4)_2LABEL = $(label_$(2))
$(if $(3), $(if $(3),
salvis-$(1)-$(2)-$(3)-50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)' salvis-$(1)-$(2)-$(3)-1x50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)'
salvis-$(1)-$(2)-$(3)-50k$(4)_3LINESTYLE = dotted salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LINESTYLE = dotted
salvis-$(1)-$(2)-$(3)-50k$(4)_3LABEL = $(label_$(3)) salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LABEL = $(label_$(3))
,) ,)
salvis-$(1)-$(2)-$(3)-50k$(4)_QUADRANT = $(4) salvis-$(1)-$(2)-$(3)-1x50k$(4)_QUADRANT = $(4)
salvis-$(1)-$(2)-$(3)-50k$(4)_LEGEND = $(legend_$(4)) salvis-$(1)-$(2)-$(3)-1x50k$(4)_LEGEND = $(legend_$(4))
endef endef
$(foreach x,vw64 dp64 vwchaikin64 dpchaikin64,\ $(foreach x,vw64 dp64 vwchaikin64 dpchaikin64,\
$(eval $(call wm_vwdp50k,wm75,$(x),grpk10,)) \ $(eval $(call wm_vwdp50k,wm75,$(x),grpk10,)) \
@ -179,32 +179,32 @@ $(eval $(call wm_vwdp50k,wm75,grpk10,,tl))
salvis-25k_1SELECT = wm_visuals where name='salvis-grpk10' salvis-25k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-25k_WIDTHDIV = 1 salvis-25k_WIDTHDIV = 1
salvis-50k_1SELECT = wm_visuals where name='salvis-grpk10' salvis-2x50k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-50k_WIDTHDIV = 2 salvis-2x50k_WIDTHDIV = 2
salvis-dp64-50k_1SELECT = wm_visuals where name='salvis-dp64' salvis-dp64-2x50k_1SELECT = wm_visuals where name='salvis-dp64'
salvis-dp64-50k_WIDTHDIV = 2 salvis-dp64-2x50k_WIDTHDIV = 2
salvis-vw64-50k_1SELECT = wm_visuals where name='salvis-vw64' salvis-vw64-2x50k_1SELECT = wm_visuals where name='salvis-vw64'
salvis-vw64-50k_WIDTHDIV = 2 salvis-vw64-2x50k_WIDTHDIV = 2
salvis-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-dpchaikin64' salvis-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-dpchaikin64-50k_WIDTHDIV = 2 salvis-dpchaikin64-2x50k_WIDTHDIV = 2
salvis-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-vwchaikin64' salvis-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-vwchaikin64-50k_WIDTHDIV = 2 salvis-vwchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-dpchaikin64-50k_1SELECT = wm_visuals where name='salvis-dpchaikin64' salvis-overlaid-dpchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-overlaid-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10' salvis-overlaid-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-dpchaikin64-50k_1COLOR = orange salvis-overlaid-dpchaikin64-2x50k_1COLOR = orange
salvis-overlaid-dpchaikin64-50k_WIDTHDIV = 2 salvis-overlaid-dpchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-dpchaikin64-50k_QUADRANT = tl salvis-overlaid-dpchaikin64-2x50k_QUADRANT = tl
salvis-overlaid-vwchaikin64-50k_1SELECT = wm_visuals where name='salvis-vwchaikin64' salvis-overlaid-vwchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-overlaid-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10' salvis-overlaid-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-vwchaikin64-50k_1COLOR = orange salvis-overlaid-vwchaikin64-2x50k_1COLOR = orange
salvis-overlaid-vwchaikin64-50k_WIDTHDIV = 2 salvis-overlaid-vwchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-vwchaikin64-50k_QUADRANT = tl salvis-overlaid-vwchaikin64-2x50k_QUADRANT = tl
salvis-wm220_1SELECT = wm_visuals where name='salvis-wm220' salvis-wm220_1SELECT = wm_visuals where name='salvis-wm220'
salvis-wm220_WIDTHDIV = 2 salvis-wm220_WIDTHDIV = 2

View File

@ -246,9 +246,9 @@ simplification.
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-50k} \includegraphics[width=\textwidth]{salvis-2x50k}
\caption{Example scaled 1:\numprint{50000}.} \caption{Example scaled 1:\numprint{50000}.}
\label{fig:salvis-50k} \label{fig:salvis-2x50k}
\end{subfigure} \end{subfigure}
\hfill \hfill
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
@ -270,60 +270,60 @@ simplification for scale 1:\numprint{50000} and especially for
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-dp64-50k} \includegraphics[width=\textwidth]{salvis-dp64-2x50k}
\caption{Using {\DP}.} \caption{Using {\DP}.}
\end{subfigure} \end{subfigure}
\hfill \hfill
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-vw64-50k} \includegraphics[width=\textwidth]{salvis-vw64-2x50k}
\caption{Using {\VW}.} \caption{Using {\VW}.}
\end{subfigure} \end{subfigure}
\caption{Simplified using classical algorithms (1:\numprint{50000}).} \caption{Simplified using classical algorithms (1:\numprint{50000}).}
\label{fig:salvis-generalized-50k} \label{fig:salvis-generalized-1x50k}
\end{figure} \end{figure}
Figure~\ref{fig:salvis-generalized-50k} illustrates the same river bend, but Figure~\ref{fig:salvis-generalized-1x50k} illustrates the same river bend, but
simplified using {\DP} and {\VW} algorithms. The resulting lines are jagged, simplified using {\DP} and {\VW} algorithms. The resulting lines are jagged,
and thus the resulting line looks unlike a real river. To smoothen the jaggedness, and thus the resulting line looks unlike a real river. To smoothen the jaggedness,
traditionally, Chaikin's\cite{chaikin1974algorithm} is applied after traditionally, Chaikin's\cite{chaikin1974algorithm} is applied after
generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}. generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-1x50k}.
\begin{figure}[ht!] \begin{figure}[ht!]
\centering \centering
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-dpchaikin64-50k} \includegraphics[width=\textwidth]{salvis-dpchaikin64-2x50k}
\caption{{\DP} and Chaikin's.} \caption{{\DP} and Chaikin's.}
\label{fig:salvis-dpchaikin64-50k} \label{fig:salvis-dpchaikin64-2x50k}
\end{subfigure} \end{subfigure}
\hfill \hfill
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-vwchaikin64-50k} \includegraphics[width=\textwidth]{salvis-vwchaikin64-2x50k}
\caption{{\VW} and Chaikin's.} \caption{{\VW} and Chaikin's.}
\label{fig:salvis-vwchaikin64-50k} \label{fig:salvis-vwchaikin64-2x50k}
\end{subfigure} \end{subfigure}
\caption{Simplified and smoothened river (1:\numprint{50000}).} \caption{Simplified and smoothened river (1:\numprint{50000}).}
\label{fig:salvis-generalized-chaikin-50k} \label{fig:salvis-generalized-chaikin-1x50k}
\end{figure} \end{figure}
\begin{figure}[ht!] \begin{figure}[ht!]
\centering \centering
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-overlaid-dpchaikin64-50k} \includegraphics[width=\textwidth]{salvis-overlaid-dpchaikin64-2x50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified \caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified
(fig.~\ref{fig:salvis-dpchaikin64-50k}).} (fig.~\ref{fig:salvis-dpchaikin64-2x50k}).}
\end{subfigure} \end{subfigure}
\hfill \hfill
\begin{subfigure}[b]{.49\textwidth} \begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-overlaid-vwchaikin64-50k} \includegraphics[width=\textwidth]{salvis-overlaid-vwchaikin64-2x50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified \caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified
(fig.~\ref{fig:salvis-vwchaikin64-50k}.)} (fig.~\ref{fig:salvis-vwchaikin64-2x50k}.)}
\end{subfigure} \end{subfigure}
\caption{Zoomed-in simplified and smoothened river and original.} \caption{Zoomed-in simplified and smoothened river and original.}
\label{fig:salvis-overlaid-generalized-chaikin-50k} \label{fig:salvis-overlaid-generalized-chaikin-1x50k}
\end{figure} \end{figure}
\begin{figure}[b!] \begin{figure}[b!]
@ -334,7 +334,7 @@ generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}.
\end{figure} \end{figure}
The resulting simplified and smoothened example The resulting simplified and smoothened example
(Figure~\onpage{fig:salvis-generalized-chaikin-50k}) yields a more (Figure~\onpage{fig:salvis-generalized-chaikin-1x50k}) yields a more
aesthetically pleasing result; however, it obscures natural river features. aesthetically pleasing result; however, it obscures natural river features.
Given the absence of rocks, the only natural features that influence the river Given the absence of rocks, the only natural features that influence the river
@ -1394,36 +1394,36 @@ Our generalized results are viewed from the following angles:
\begin{figure}[h!] \begin{figure}[h!]
\centering \centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50k} \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50k}
\caption{2x zoomed-in {\WM} for 1:\numprint{50000}.} \caption{2x zoomed-in {\WM} for 1:\numprint{50000}.}
\label{fig:salvis-wm75-grpk10--50k} \label{fig:salvis-wm75-grpk10--1x50k}
\end{figure} \end{figure}
As one can see in Figure~\ref{fig:salvis-wm75-grpk10--50k}, the illustrations deliver As one can see in Figure~\ref{fig:salvis-wm75-grpk10--1x50k}, the illustrations deliver
what was promised by the algorithm, but with a few caveats. Left side of the what was promised by the algorithm, but with a few caveats. Left side of the
figure looks reasonably well simplified: long bends remain slightly curved, figure looks reasonably well simplified: long bends remain slightly curved,
small bends are removed or slightly exaggerated. small bends are removed or slightly exaggerated.
Figure's~\ref{fig:salvis-wm75-grpk10--50k} left part is clipped to Figure's~\ref{fig:salvis-wm75-grpk10--1x50k} left part is clipped to
Figure~\ref{fig:salvis-wm75-grpk10--50ktl}. As one can see, some bends were well Figure~\ref{fig:salvis-wm75-grpk10--1x50ktl}. As one can see, some bends were well
exaggerated, and some bends were eliminated. exaggerated, and some bends were eliminated.
\begin{figure}[h!] \begin{figure}[h!]
\centering \centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktl} \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktl}
\caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.} \caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.}
\label{fig:salvis-wm75-grpk10--50ktl} \label{fig:salvis-wm75-grpk10--1x50ktl}
\end{figure} \end{figure}
Top--right side (clipped in Figure~\ref{fig:salvis-wm75-grpk10--50ktl}) some jagged Top--right side (clipped in Figure~\ref{fig:salvis-wm75-grpk10--1x50ktl}) some jagged
and sharp bends appear. These will become more pronounced in even larger-scale and sharp bends appear. These will become more pronounced in even larger-scale
simplification in the next section. simplification in the next section.
\begin{figure}[h!] \begin{figure}[h!]
\centering \centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktr} \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktr}
\caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.} \caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.}
\label{fig:salvis-wm75-grpk10--50ktr} \label{fig:salvis-wm75-grpk10--1x50ktr}
\end{figure} \end{figure}
To sum up, mid-scale simplification works well for some geometries, but creates To sum up, mid-scale simplification works well for some geometries, but creates
@ -1526,12 +1526,12 @@ all three shapes: grpk50LT, {\WM}--simplified GDB10LT, and the original GDB10LT.
\begin{figure}[h!] \begin{figure}[h!]
\centering \centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk50-grpk10-50ktr} \includegraphics[width=\textwidth]{salvis-wm75-grpk50-grpk10-1x50ktr}
\caption{Top--right side of Figure~\ref{fig:salvis-wm75-grpk50-grpk10}.} \caption{Top--right side of Figure~\ref{fig:salvis-wm75-grpk50-grpk10}.}
\label{fig:salvis-wm75-grpk50-grpk10-50ktr} \label{fig:salvis-wm75-grpk50-grpk10-1x50ktr}
\end{figure} \end{figure}
Although figures are almost identical, Figure~\ref{fig:salvis-wm75-grpk50-grpk10-50ktr} Although figures are almost identical, Figure~\ref{fig:salvis-wm75-grpk50-grpk10-1x50ktr}
illustrates two small bends that have been removed in grpk50LT, but have been illustrates two small bends that have been removed in grpk50LT, but have been
exaggerated by our implementation. exaggerated by our implementation.
@ -1571,41 +1571,41 @@ needed for small-scale maps (1:\numprint{250000}), we will limit the comparison
in this section to 1:\numprint{50000}. in this section to 1:\numprint{50000}.
\begin{figure}[h!] \begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-dp64-grpk10-50k} \includegraphics[width=\textwidth]{salvis-wm75-dp64-grpk10-1x50k}
\caption{{\DP} (green), {\WM} (orange) and original (black dotted) at \caption{{\DP} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.} 1:\numprint{50000}.}
\label{fig:salvis-wm75-dp64-grpk10-50k} \label{fig:salvis-wm75-dp64-grpk10-1x50k}
\end{figure} \end{figure}
\begin{figure}[h!] \begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-dpchaikin64-grpk10-50k} \includegraphics[width=\textwidth]{salvis-wm75-dpchaikin64-grpk10-1x50k}
\caption{Chaikin--smoothened {\DP} (green), {\WM} (orange) and original \caption{Chaikin--smoothened {\DP} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.} (black dotted) at 1:\numprint{50000}.}
\label{fig:salvis-wm75-dpchaikin64-grpk10-50k} \label{fig:salvis-wm75-dpchaikin64-grpk10-1x50k}
\end{figure} \end{figure}
\begin{figure}[h!] \begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-vw64-grpk10-50k} \includegraphics[width=\textwidth]{salvis-wm75-vw64-grpk10-1x50k}
\caption{{\VW} (green), {\WM} (orange) and original (black dotted) at \caption{{\VW} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.} 1:\numprint{50000}.}
\label{fig:salvis-wm75-vw64-grpk10-50k} \label{fig:salvis-wm75-vw64-grpk10-1x50k}
\end{figure} \end{figure}
\begin{figure}[h!] \begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-vwchaikin64-grpk10-50k} \includegraphics[width=\textwidth]{salvis-wm75-vwchaikin64-grpk10-1x50k}
\caption{Chaikin--smoothened {\VW} (green), {\WM} (orange) and original \caption{Chaikin--smoothened {\VW} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.} (black dotted) at 1:\numprint{50000}.}
\label{fig:salvis-wm75-vwchaikin64-grpk10-50k} \label{fig:salvis-wm75-vwchaikin64-grpk10-1x50k}
\end{figure} \end{figure}