commit e8a523339217b925d89610739ad9b00701a05aca (tree)
parent 8f72ba3d80174cd2410d525e469cca07f7179f7e
Author: Motiejus Jakštys <motiejus@uber.com>
Date: Tue, 18 May 2021 11:48:28 +0300
more consistent figure naming
Diffstat:
| M | IV/Makefile | | | 96 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | IV/mj-msc.tex | | | 56 | ++++++++++++++++++++++++++++---------------------------- |
| M | IV/visuals.sql | | | 12 | ++++++------ |
3 files changed, 82 insertions(+), 82 deletions(-)
diff --git a/IV/Makefile b/IV/Makefile
@@ -35,21 +35,21 @@ RIVERS = \
salvis-50k \
salvis-250k-10x \
salvis-grpk250-2x \
- salvis-dp-64-50k \
- salvis-vw-64-50k \
- salvis-dp-64-chaikin-50k \
- salvis-vw-64-chaikin-50k \
- salvis-overlaid-dp-64-chaikin-50k \
- salvis-overlaid-vw-64-chaikin-50k \
- salvis-wm-250k-10x \
- salvis-wm-250k-2x \
+ salvis-dp64-50k \
+ salvis-vw64-50k \
+ salvis-dpchaikin64-50k \
+ salvis-vwchaikin64-50k \
+ salvis-overlaid-dpchaikin64-50k \
+ salvis-overlaid-vwchaikin64-50k \
+ salvis-wm220-10x \
+ salvis-wm220-2x \
salvis-wm-50k \
salvis-wm-50k-nw \
salvis-wm-50k-ne \
salvis-wm-overlaid-250k-zoom \
salvis-wm-grpk50 \
salvis-wm-grpk50-ne \
- salvis-wm-220
+ salvis-wm220
################################################################################
# FIGURES
@@ -120,16 +120,16 @@ isolated-1-exaggerated_1COLOR = orange
# 250K
################################################################################
-salvis-wm-250k-2x_1SELECT = wm_visuals where name='salvis-wm-220'
-salvis-wm-250k-2x_WIDTHDIV = 2
+salvis-wm220-250k-2x_1SELECT = wm_visuals where name='salvis-wm220'
+salvis-wm220-250k-2x_WIDTHDIV = 2
-salvis-wm-250k-10x_1SELECT = wm_visuals where name='salvis-wm-220'
-salvis-wm-250k-10x_WIDTHDIV = 10
+salvis-wm220-250k-10x_1SELECT = wm_visuals where name='salvis-wm220'
+salvis-wm220-250k-10x_WIDTHDIV = 10
salvis-250k-10x_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-250k-10x_WIDTHDIV = 10
-salvis-wm-overlaid-250k-zoom_1SELECT = wm_visuals where name='salvis-wm-220'
+salvis-wm-overlaid-250k-zoom_1SELECT = wm_visuals where name='salvis-wm220'
salvis-wm-overlaid-250k-zoom_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-overlaid-250k-zoom_1COLOR = orange
@@ -146,52 +146,52 @@ salvis-25k_WIDTHDIV = 1
salvis-50k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-50k_WIDTHDIV = 2
-salvis-dp-64-50k_1SELECT = wm_visuals where name='salvis-dp-64'
-salvis-dp-64-50k_WIDTHDIV = 2
+salvis-dp64-50k_1SELECT = wm_visuals where name='salvis-dp64'
+salvis-dp64-50k_WIDTHDIV = 2
-salvis-vw-64-50k_1SELECT = wm_visuals where name='salvis-vw-64'
-salvis-vw-64-50k_WIDTHDIV = 2
+salvis-vw64-50k_1SELECT = wm_visuals where name='salvis-vw64'
+salvis-vw64-50k_WIDTHDIV = 2
-salvis-dp-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-dp-chaikin-64'
-salvis-dp-64-chaikin-50k_WIDTHDIV = 2
+salvis-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-dpchaikin64'
+salvis-dpchaikin64-50k_WIDTHDIV = 2
-salvis-vw-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-vw-chaikin-64'
-salvis-vw-64-chaikin-50k_WIDTHDIV = 2
+salvis-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-vwchaikin64'
+salvis-vwchaikin64-50k_WIDTHDIV = 2
-salvis-overlaid-dp-64-chaikin-50k_1SELECT = wm_visuals where name='salvis-dp-chaikin-64'
-salvis-overlaid-dp-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-grpk10'
-salvis-overlaid-dp-64-chaikin-50k_1COLOR = orange
-salvis-overlaid-dp-64-chaikin-50k_WIDTHDIV = 2
-salvis-overlaid-dp-64-chaikin-50k_QUADRANT = tl
+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-vw-64-chaikin-50k_1SELECT = wm_visuals where name='salvis-vw-chaikin-64'
-salvis-overlaid-vw-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-grpk10'
-salvis-overlaid-vw-64-chaikin-50k_1COLOR = orange
-salvis-overlaid-vw-64-chaikin-50k_WIDTHDIV = 2
-salvis-overlaid-vw-64-chaikin-50k_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-wm-50k_1SELECT = wm_visuals where name='salvis-wm-75'
+salvis-wm-50k_1SELECT = wm_visuals where name='salvis-wm75'
salvis-wm-50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-50k_1COLOR = orange
-salvis-wm-50k-nw_1SELECT = wm_visuals where name='salvis-wm-75'
+salvis-wm-50k-nw_1SELECT = wm_visuals where name='salvis-wm75'
salvis-wm-50k-nw_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-50k-nw_1COLOR = orange
salvis-wm-50k-nw_QUADRANT = tr
-salvis-wm-50k-ne_1SELECT = wm_visuals where name='salvis-wm-75'
+salvis-wm-50k-ne_1SELECT = wm_visuals where name='salvis-wm75'
salvis-wm-50k-ne_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-50k-ne_1COLOR = orange
salvis-wm-50k-ne_QUADRANT = tl
-salvis-wm-grpk50_1SELECT = wm_visuals where name='salvis-wm-75'
+salvis-wm-grpk50_1SELECT = wm_visuals where name='salvis-wm75'
salvis-wm-grpk50_2SELECT = wm_visuals where name='salvis-grpk50'
salvis-wm-grpk50_3SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-grpk50_1COLOR = orange
salvis-wm-grpk50_2COLOR = green
salvis-wm-grpk50_3LINESTYLE = dotted
-salvis-wm-grpk50-ne_1SELECT = wm_visuals where name='salvis-wm-75'
+salvis-wm-grpk50-ne_1SELECT = wm_visuals where name='salvis-wm75'
salvis-wm-grpk50-ne_2SELECT = wm_visuals where name='salvis-grpk50'
salvis-wm-grpk50-ne_3SELECT = wm_visuals where name='salvis-grpk10'
salvis-wm-grpk50-ne_1COLOR = orange
@@ -199,14 +199,14 @@ salvis-wm-grpk50-ne_2COLOR = green
salvis-wm-grpk50-ne_3LINESTYLE = dotted
salvis-wm-grpk50-ne_QUADRANT = tl
-salvis-wm-220_1SELECT = wm_visuals where name='salvis-wm-220'
-salvis-wm-220_WIDTHDIV = 2
+salvis-wm220_1SELECT = wm_visuals where name='salvis-wm220'
+salvis-wm220_WIDTHDIV = 2
-label_wm-75 = Wang--Müller
-label_vw-64 = Visvalingam--Whyatt
-label_dp-64 = Douglas \& Peucker
-label_vw-64-chaikin = $(label_vw-64) and Chaikin
-label_dp-64-chaikin = $(label_dp-64) and Chaikin
+label_wm75 = Wang--Müller
+label_vw64 = Visvalingam--Whyatt
+label_dp64 = Douglas \& Peucker
+label_vw64chaikin = $(label_vw64) and Chaikin
+label_dp64chaikin = $(label_dp64) and Chaikin
legend_ = lower left
legend_tr = lower right
legend_tl = lower right
@@ -225,10 +225,10 @@ salvis-$(1)-$(2)-50k$(3)_3LABEL = GRPK 1:\numprint{10000}
salvis-$(1)-$(2)-50k$(3)_QUADRANT = $(3)
salvis-$(1)-$(2)-50k$(3)_LEGEND = $(legend_$(3))
endef
-$(foreach x,vw-64 dp-64 vw-chaikin-64 dp-chaikin-64,\
- $(eval $(call wm_vwdp50k,wm-75,$(x),)) \
- $(eval $(call wm_vwdp50k,wm-75,$(x),tl)) \
- $(eval $(call wm_vwdp50k,wm-75,$(x),tr)) \
+$(foreach x,vw64 dp64 vwchaikin64 dpchaikin64,\
+ $(eval $(call wm_vwdp50k,wm75,$(x),)) \
+ $(eval $(call wm_vwdp50k,wm75,$(x),tl)) \
+ $(eval $(call wm_vwdp50k,wm75,$(x),tr)) \
)
define FIG_template
diff --git a/IV/mj-msc.tex b/IV/mj-msc.tex
@@ -207,7 +207,7 @@ as well as more modern ones, which only theorize, but do not provide an
implementation.
\subsubsection{{\DP}, {\VW} and Chaikin's}
-\label{sec:dp-vw-chaikin}
+\label{sec:dp-vwchaikin}
{\DP}\cite{douglas1973algorithms} and {\VW}\cite{visvalingam1993line} are
"classical" line simplification computer graphics algorithms. They are
@@ -270,12 +270,12 @@ simplification for scale 1:\numprint{50000} and especially for
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-dp-64-50k}
+ \includegraphics[width=\textwidth]{salvis-dp64-50k}
\caption{Using {\DP}.}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-vw-64-50k}
+ \includegraphics[width=\textwidth]{salvis-vw64-50k}
\caption{Using {\VW}.}
\end{subfigure}
\caption{Simplified using classical algorithms (1:\numprint{50000}).}
@@ -291,15 +291,15 @@ generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}.
\begin{figure}[ht!]
\centering
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-dp-64-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-dpchaikin64-50k}
\caption{{\DP} and Chaikin's.}
- \label{fig:salvis-dp-64-chaikin-50k}
+ \label{fig:salvis-dpchaikin64-50k}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-vw-64-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-vwchaikin64-50k}
\caption{{\VW} and Chaikin's.}
- \label{fig:salvis-vw-64-chaikin-50k}
+ \label{fig:salvis-vwchaikin64-50k}
\end{subfigure}
\caption{Simplified and smoothened river (1:\numprint{50000}).}
\label{fig:salvis-generalized-chaikin-50k}
@@ -308,18 +308,18 @@ generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}.
\begin{figure}[ht!]
\centering
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-overlaid-dp-64-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-overlaid-dpchaikin64-50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified
- (fig.~\ref{fig:salvis-dp-64-chaikin-50k}).}
+ (fig.~\ref{fig:salvis-dpchaikin64-50k}).}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
- \includegraphics[width=\textwidth]{salvis-overlaid-vw-64-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-overlaid-vwchaikin64-50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified
- (fig.~\ref{fig:salvis-vw-64-chaikin-50k}.)}
+ (fig.~\ref{fig:salvis-vwchaikin64-50k}.)}
\end{subfigure}
\caption{Zoomed-in simplified and smoothened river and original.}
@@ -499,7 +499,7 @@ wider cartographic society than proprietary ones.
\subsubsection{Unfitness of Line Simplification Algorithms}
-Section~\ref{sec:dp-vw-chaikin} illustrates the current gaps with line
+Section~\ref{sec:dp-vwchaikin} illustrates the current gaps with line
simplification algorithms for real rivers. To sum up, we highlight the
following cartographic problems from our examples:
@@ -1432,9 +1432,9 @@ sharp edges for others.
\subsubsection{Large-scale (1:\numprint{250000})}
\label{sec:analyzed-large-scale}
-As visible in Figure~\ref{fig:salvis-wm-250k-10x}, for large-scale map, some of the
+As visible in Figure~\ref{fig:salvis-wm220-10x}, for large-scale map, some of the
resulting bends look significantly exaggerated. Why is that?
-Figure~\ref{fig:salvis-wm-250k-overlaid-zoom} zooms in the large-scale
+Figure~\ref{fig:salvis-wm220-overlaid-zoom} zooms in the large-scale
simplification and overlays the original.
\begin{figure}[ht]
@@ -1447,18 +1447,18 @@ simplification and overlays the original.
\hfill
\begin{subfigure}[b]{.49\textwidth}
\centering
- \includegraphics[width=.2\textwidth]{salvis-wm-250k-10x}
+ \includegraphics[width=.2\textwidth]{salvis-wm220-10x}
\caption{Simplified.}
\end{subfigure}
\caption{GDB10LT simplified with {\WM} for 1:\numprint{250000}.}
- \label{fig:salvis-wm-250k-10x}
+ \label{fig:salvis-wm220-10x}
\end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width=.8\textwidth]{salvis-wm-overlaid-250k-zoom}
\caption{10x zoomed-in {\WM} for 1:\numprint{250000}.}
- \label{fig:salvis-wm-250k-overlaid-zoom}
+ \label{fig:salvis-wm220-overlaid-zoom}
\end{figure}
A conglomeration of bends is visible, especially in top--right side of the
@@ -1538,7 +1538,7 @@ exaggerated by our implementation.
\subsubsection{Large-scale (1:\numprint{250000})}
\label{sec:national-large-scale}
-Figure~\ref{fig:salvis-wm-250k} illustrates the original grpk250LT and the
+Figure~\ref{fig:salvis-wm220} illustrates the original grpk250LT and the
{\WM}--simplified version. As section~\ref{sec:analyzed-large-scale} explains,
the algorithm tries to exaggerate many bends to a great size. However, grpk250LT
takes the opposite approach --- only the very basic shapes of the largest bends
@@ -1555,11 +1555,11 @@ desired in section~\ref{sec:future-suggestions}.
\hfill
\begin{subfigure}[b]{.49\textwidth}
\centering
- \includegraphics[width=\textwidth]{salvis-wm-220}
+ \includegraphics[width=\textwidth]{salvis-wm220}
\caption{{\WM}-simplified GDB10LT.}
\end{subfigure}
\caption{grpk250LT and {\WM}--simplified GDB10LT.}
- \label{fig:salvis-wm-250k}
+ \label{fig:salvis-wm220}
\end{figure}
@@ -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-wm-dp-50k}
+ \includegraphics[width=\textwidth]{salvis-wm75-dp64-50k}
\caption{{\DP} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.}
- \label{fig:salvis-wm-dp-50k}
+ \label{fig:salvis-wm75-dp64-50k}
\end{figure}
\begin{figure}[h!]
- \includegraphics[width=\textwidth]{salvis-wm-dp-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-wm75-dpchaikin64-50k}
\caption{Chaikin--smoothened {\DP} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.}
- \label{fig:salvis-wm-dp-chaikin-50k}
+ \label{fig:salvis-wm75-dpchaikin64-50k}
\end{figure}
\begin{figure}[h!]
- \includegraphics[width=\textwidth]{salvis-wm-vw-50k}
+ \includegraphics[width=\textwidth]{salvis-wm75-vw64-50k}
\caption{{\VW} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.}
- \label{fig:salvis-wm-vw-50k}
+ \label{fig:salvis-wm75-vw64-50k}
\end{figure}
\begin{figure}[h!]
- \includegraphics[width=\textwidth]{salvis-wm-vw-chaikin-50k}
+ \includegraphics[width=\textwidth]{salvis-wm75-vwchaikin64-50k}
\caption{Chaikin--smoothened {\VW} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.}
- \label{fig:salvis-wm-vw-chaikin-50k}
+ \label{fig:salvis-wm75-vwchaikin64-50k}
\end{figure}
diff --git a/IV/visuals.sql b/IV/visuals.sql
@@ -129,18 +129,18 @@ begin
geom1 = st_simplify((select way from wm_visuals where name='salvis-grpk10'), i);
geom2 = st_simplifyvw((select way from wm_visuals where name='salvis-grpk10'), i*i);
insert into wm_visuals(name, way) values
- ('salvis-dp-' || i, geom1),
- ('salvis-dp-chaikin-' || i, st_chaikinsmoothing(geom1, 5)),
- ('salvis-vw-' || i, geom2),
- ('salvis-vw-chaikin-' || i, st_chaikinsmoothing(geom2, 5));
+ ('salvis-dp' || i, geom1),
+ ('salvis-dpchaikin' || i, st_chaikinsmoothing(geom1, 5)),
+ ('salvis-vw' || i, geom2),
+ ('salvis-vwchaikin' || i, st_chaikinsmoothing(geom2, 5));
end loop;
-- more than 220 doesn't work, because there is an exaggerated bend near
-- Šalčia-Visinčia crossing, and it "exaggerates" to the
-- other river.
foreach i in array array[75, 220] loop
- geom3 = st_simplifywm((select way from wm_visuals where name='salvis-grpk10'), i, 50, 'salvis-wm-' || i);
+ geom3 = st_simplifywm((select way from wm_visuals where name='salvis-grpk10'), i, 50, 'salvis-wm' || i);
insert into wm_visuals(name, way) values
- ('salvis-wm-' || i, geom3);
+ ('salvis-wm' || i, geom3);
end loop;
end $$ language plpgsql;