diff --git a/Makefile b/Makefile index 5071e54..ccbdab3 100644 --- a/Makefile +++ b/Makefile @@ -32,15 +32,15 @@ FIGURES = \ RIVERS = \ salvis-25k \ - salvis-50k \ + salvis-2x50k \ salvis-250k-10x \ salvis-grpk250-2x \ - salvis-dp64-50k \ - salvis-vw64-50k \ - salvis-dpchaikin64-50k \ - salvis-vwchaikin64-50k \ - salvis-overlaid-dpchaikin64-50k \ - salvis-overlaid-vwchaikin64-50k \ + salvis-dp64-2x50k \ + salvis-vw64-2x50k \ + salvis-dpchaikin64-2x50k \ + salvis-vwchaikin64-2x50k \ + salvis-overlaid-dpchaikin64-2x50k \ + salvis-overlaid-vwchaikin64-2x50k \ salvis-wm220-10x \ salvis-wm220-2x \ salvis-wm-overlaid-250k-zoom \ @@ -149,20 +149,20 @@ legend_tr = lower right legend_tl = lower center define wm_vwdp50k -RIVERS += salvis-$(1)-$(2)-$(3)-50k$(4) -salvis-$(1)-$(2)-$(3)-50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)' -salvis-$(1)-$(2)-$(3)-50k$(4)_1COLOR = orange -salvis-$(1)-$(2)-$(3)-50k$(4)_1LABEL = $(label_$(1)) -salvis-$(1)-$(2)-$(3)-50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)' -salvis-$(1)-$(2)-$(3)-50k$(4)_2COLOR = green -salvis-$(1)-$(2)-$(3)-50k$(4)_2LABEL = $(label_$(2)) +RIVERS += salvis-$(1)-$(2)-$(3)-1x50k$(4) +salvis-$(1)-$(2)-$(3)-1x50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)' +salvis-$(1)-$(2)-$(3)-1x50k$(4)_1COLOR = orange +salvis-$(1)-$(2)-$(3)-1x50k$(4)_1LABEL = $(label_$(1)) +salvis-$(1)-$(2)-$(3)-1x50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)' +salvis-$(1)-$(2)-$(3)-1x50k$(4)_2COLOR = green +salvis-$(1)-$(2)-$(3)-1x50k$(4)_2LABEL = $(label_$(2)) $(if $(3), -salvis-$(1)-$(2)-$(3)-50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)' -salvis-$(1)-$(2)-$(3)-50k$(4)_3LINESTYLE = dotted -salvis-$(1)-$(2)-$(3)-50k$(4)_3LABEL = $(label_$(3)) +salvis-$(1)-$(2)-$(3)-1x50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)' +salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LINESTYLE = dotted +salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LABEL = $(label_$(3)) ,) -salvis-$(1)-$(2)-$(3)-50k$(4)_QUADRANT = $(4) -salvis-$(1)-$(2)-$(3)-50k$(4)_LEGEND = $(legend_$(4)) +salvis-$(1)-$(2)-$(3)-1x50k$(4)_QUADRANT = $(4) +salvis-$(1)-$(2)-$(3)-1x50k$(4)_LEGEND = $(legend_$(4)) endef $(foreach x,vw64 dp64 vwchaikin64 dpchaikin64,\ $(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_WIDTHDIV = 1 -salvis-50k_1SELECT = wm_visuals where name='salvis-grpk10' -salvis-50k_WIDTHDIV = 2 +salvis-2x50k_1SELECT = wm_visuals where name='salvis-grpk10' +salvis-2x50k_WIDTHDIV = 2 -salvis-dp64-50k_1SELECT = wm_visuals where name='salvis-dp64' -salvis-dp64-50k_WIDTHDIV = 2 +salvis-dp64-2x50k_1SELECT = wm_visuals where name='salvis-dp64' +salvis-dp64-2x50k_WIDTHDIV = 2 -salvis-vw64-50k_1SELECT = wm_visuals where name='salvis-vw64' -salvis-vw64-50k_WIDTHDIV = 2 +salvis-vw64-2x50k_1SELECT = wm_visuals where name='salvis-vw64' +salvis-vw64-2x50k_WIDTHDIV = 2 -salvis-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-dpchaikin64' -salvis-dpchaikin64-50k_WIDTHDIV = 2 +salvis-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-dpchaikin64' +salvis-dpchaikin64-2x50k_WIDTHDIV = 2 -salvis-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-vwchaikin64' -salvis-vwchaikin64-50k_WIDTHDIV = 2 +salvis-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-vwchaikin64' +salvis-vwchaikin64-2x50k_WIDTHDIV = 2 -salvis-overlaid-dpchaikin64-50k_1SELECT = wm_visuals where name='salvis-dpchaikin64' -salvis-overlaid-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10' -salvis-overlaid-dpchaikin64-50k_1COLOR = orange -salvis-overlaid-dpchaikin64-50k_WIDTHDIV = 2 -salvis-overlaid-dpchaikin64-50k_QUADRANT = tl +salvis-overlaid-dpchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-dpchaikin64' +salvis-overlaid-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10' +salvis-overlaid-dpchaikin64-2x50k_1COLOR = orange +salvis-overlaid-dpchaikin64-2x50k_WIDTHDIV = 2 +salvis-overlaid-dpchaikin64-2x50k_QUADRANT = tl -salvis-overlaid-vwchaikin64-50k_1SELECT = wm_visuals where name='salvis-vwchaikin64' -salvis-overlaid-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10' -salvis-overlaid-vwchaikin64-50k_1COLOR = orange -salvis-overlaid-vwchaikin64-50k_WIDTHDIV = 2 -salvis-overlaid-vwchaikin64-50k_QUADRANT = tl +salvis-overlaid-vwchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-vwchaikin64' +salvis-overlaid-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10' +salvis-overlaid-vwchaikin64-2x50k_1COLOR = orange +salvis-overlaid-vwchaikin64-2x50k_WIDTHDIV = 2 +salvis-overlaid-vwchaikin64-2x50k_QUADRANT = tl salvis-wm220_1SELECT = wm_visuals where name='salvis-wm220' salvis-wm220_WIDTHDIV = 2 diff --git a/mj-msc.tex b/mj-msc.tex index 7685c47..e5dfeb8 100644 --- a/mj-msc.tex +++ b/mj-msc.tex @@ -246,9 +246,9 @@ simplification. \begin{figure}[ht] \centering \begin{subfigure}[b]{.49\textwidth} - \includegraphics[width=\textwidth]{salvis-50k} + \includegraphics[width=\textwidth]{salvis-2x50k} \caption{Example scaled 1:\numprint{50000}.} - \label{fig:salvis-50k} + \label{fig:salvis-2x50k} \end{subfigure} \hfill \begin{subfigure}[b]{.49\textwidth} @@ -270,60 +270,60 @@ simplification for scale 1:\numprint{50000} and especially for \begin{figure}[ht] \centering \begin{subfigure}[b]{.49\textwidth} - \includegraphics[width=\textwidth]{salvis-dp64-50k} + \includegraphics[width=\textwidth]{salvis-dp64-2x50k} \caption{Using {\DP}.} \end{subfigure} \hfill \begin{subfigure}[b]{.49\textwidth} - \includegraphics[width=\textwidth]{salvis-vw64-50k} + \includegraphics[width=\textwidth]{salvis-vw64-2x50k} \caption{Using {\VW}.} \end{subfigure} \caption{Simplified using classical algorithms (1:\numprint{50000}).} - \label{fig:salvis-generalized-50k} + \label{fig:salvis-generalized-1x50k} \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, and thus the resulting line looks unlike a real river. To smoothen the jaggedness, 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!] \centering \begin{subfigure}[b]{.49\textwidth} - \includegraphics[width=\textwidth]{salvis-dpchaikin64-50k} + \includegraphics[width=\textwidth]{salvis-dpchaikin64-2x50k} \caption{{\DP} and Chaikin's.} - \label{fig:salvis-dpchaikin64-50k} + \label{fig:salvis-dpchaikin64-2x50k} \end{subfigure} \hfill \begin{subfigure}[b]{.49\textwidth} - \includegraphics[width=\textwidth]{salvis-vwchaikin64-50k} + \includegraphics[width=\textwidth]{salvis-vwchaikin64-2x50k} \caption{{\VW} and Chaikin's.} - \label{fig:salvis-vwchaikin64-50k} + \label{fig:salvis-vwchaikin64-2x50k} \end{subfigure} \caption{Simplified and smoothened river (1:\numprint{50000}).} - \label{fig:salvis-generalized-chaikin-50k} + \label{fig:salvis-generalized-chaikin-1x50k} \end{figure} \begin{figure}[ht!] \centering \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 - (fig.~\ref{fig:salvis-dpchaikin64-50k}).} + \caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified + (fig.~\ref{fig:salvis-dpchaikin64-2x50k}).} \end{subfigure} \hfill \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 - (fig.~\ref{fig:salvis-vwchaikin64-50k}.)} + \caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified + (fig.~\ref{fig:salvis-vwchaikin64-2x50k}.)} \end{subfigure} \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} \begin{figure}[b!] @@ -334,7 +334,7 @@ generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}. \end{figure} 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. 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!] \centering - \includegraphics[width=\textwidth]{salvis-wm75-grpk10--50k} + \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50k} \caption{2x zoomed-in {\WM} for 1:\numprint{50000}.} - \label{fig:salvis-wm75-grpk10--50k} + \label{fig:salvis-wm75-grpk10--1x50k} \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 figure looks reasonably well simplified: long bends remain slightly curved, small bends are removed or slightly exaggerated. -Figure's~\ref{fig:salvis-wm75-grpk10--50k} left part is clipped to -Figure~\ref{fig:salvis-wm75-grpk10--50ktl}. As one can see, some bends were well +Figure's~\ref{fig:salvis-wm75-grpk10--1x50k} left part is clipped to +Figure~\ref{fig:salvis-wm75-grpk10--1x50ktl}. As one can see, some bends were well exaggerated, and some bends were eliminated. \begin{figure}[h!] \centering - \includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktl} - \caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.} - \label{fig:salvis-wm75-grpk10--50ktl} + \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktl} + \caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.} + \label{fig:salvis-wm75-grpk10--1x50ktl} \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 simplification in the next section. \begin{figure}[h!] \centering - \includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktr} - \caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.} - \label{fig:salvis-wm75-grpk10--50ktr} + \includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktr} + \caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.} + \label{fig:salvis-wm75-grpk10--1x50ktr} \end{figure} 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!] \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}.} - \label{fig:salvis-wm75-grpk50-grpk10-50ktr} + \label{fig:salvis-wm75-grpk50-grpk10-1x50ktr} \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 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}. \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 1:\numprint{50000}.} - \label{fig:salvis-wm75-dp64-grpk10-50k} + \label{fig:salvis-wm75-dp64-grpk10-1x50k} \end{figure} \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 (black dotted) at 1:\numprint{50000}.} - \label{fig:salvis-wm75-dpchaikin64-grpk10-50k} + \label{fig:salvis-wm75-dpchaikin64-grpk10-1x50k} \end{figure} \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 1:\numprint{50000}.} - \label{fig:salvis-wm75-vw64-grpk10-50k} + \label{fig:salvis-wm75-vw64-grpk10-1x50k} \end{figure} \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 (black dotted) at 1:\numprint{50000}.} - \label{fig:salvis-wm75-vwchaikin64-grpk10-50k} + \label{fig:salvis-wm75-vwchaikin64-grpk10-1x50k} \end{figure}