add parameter table
This commit is contained in:
parent
d6a8412d08
commit
ad0c1c0f5c
30
bib.bib
30
bib.bib
@ -182,3 +182,33 @@
|
||||
issn={1436-5081},
|
||||
doi={10.1007/BF01742852},
|
||||
}
|
||||
|
||||
@online{mappingunits,
|
||||
author={Aileen Buckley},
|
||||
title={Guidelines for minimum size for text and symbols on maps},
|
||||
year={2008},
|
||||
month={1},
|
||||
day={16},
|
||||
url={https://www.esri.com/arcgis-blog/products/product/mapping/guidelines-for-minimum-size-for-text-and-symbols-on-maps/},
|
||||
organization={Esri},
|
||||
urldate={2021-05-03},
|
||||
}
|
||||
|
||||
@online{cartoucheMinimalDimensions,
|
||||
author={CartouCHe},
|
||||
title={Cartographic Design for Screen Maps},
|
||||
subtitle={Minimum Dimensions},
|
||||
year={2012},
|
||||
month={1},
|
||||
day={26},
|
||||
url={http://www.e-cartouche.ch/content_reg/cartouche/cartdesign/en/html/GenRules_learningObject3.html},
|
||||
organization={CartouCHe},
|
||||
urldate={2021-05-03},
|
||||
}
|
||||
|
||||
@online{epsg3857,
|
||||
author={MapTiler Team},
|
||||
title={WGS 84 / Pseudo-Mercator},
|
||||
url={https://epsg.io/3857},
|
||||
urldate={2021-05-03},
|
||||
}
|
||||
|
62
mj-msc.tex
62
mj-msc.tex
@ -16,6 +16,7 @@
|
||||
\usepackage[toc,page,title]{appendix}
|
||||
\usepackage{caption}
|
||||
\usepackage{subcaption}
|
||||
\usepackage{dcolumn}
|
||||
\usepackage{gensymb}
|
||||
\usepackage{units}
|
||||
\usepackage{varwidth}
|
||||
@ -545,6 +546,66 @@ NOTE: explain how different river segments are merged into a single line. This
|
||||
is not explained in the {\WM} paper, but is a necessary prerequisite. This is
|
||||
implemented in \texttt{aggregate-rivers.sql}.
|
||||
|
||||
\subsection{Bend scaling and dimensions}
|
||||
\label{sec:bend-scaling-and-dimensions}
|
||||
|
||||
{\WM} accepts a single input parameter: the diameter of a half-circle. If the
|
||||
bend's adjusted size (explained in detail in
|
||||
section~\onpage{sec:shape-of-a-bend}) is greater than the area of the
|
||||
half-circle, then the bend will be left untouched. If the bend's adjusted size
|
||||
is smaller than the area of the provided half-circle, the bend will be
|
||||
simplified: either exaggerated, combined or eliminated.
|
||||
|
||||
The half-circle's diameter depends on the desired scale of the target map: it
|
||||
should be small enough to retain small but visible bends,
|
||||
|
||||
The extent of line simplification depends on the desired target scale.
|
||||
Simplification should be more aggressive for smaller target scales, and
|
||||
less aggressive for larger scales. This section goes through the process
|
||||
of finding the correct variable to {\WM} algorithm.
|
||||
|
||||
What is the minimal, but still eligible figure that can should be displayed on
|
||||
the map?
|
||||
|
||||
According to \titlecite{cartoucheMinimalDimensions}, the map is typically held
|
||||
at a distance of 30cm. Recommended minimum symbol size given viewing distance
|
||||
of 45cm (1.5 feet) is 1.5mm, as analyzed in \titlecite{mappingunits}.
|
||||
|
||||
In our case, our target is line bend, rather than a symbol. Assume 1.5mm is a
|
||||
diameter of the bend. A semi-circle of 1.5mm diameter is depicted in
|
||||
figure~\ref{fig:half-circle}. In other words, a bend of this size or larger,
|
||||
when adjusted to scale, will not be generalized.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\begin{tikzpicture}[x=1mm,y=1mm]
|
||||
\draw[] (-10, 0) -- (-.75,0) arc (225:-45:.75) -- (10, 0);
|
||||
\end{tikzpicture}
|
||||
\caption{Smallest feature that will be not generalized.}
|
||||
\label{fig:half-circle}
|
||||
\end{figure}
|
||||
|
||||
{\WM} algorithm does not have a notion of scale, but it does have a notion of
|
||||
distance. Assuming measurement units in projected coordinate system are meters
|
||||
(for example, \titlecite{epsg3857}), conversion is depicted in
|
||||
table~\ref{table:scale-halfcirlce-diameter}.
|
||||
|
||||
\newcolumntype{d}[1]{D{.}{.}{#1} }
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\begin{tabular}{|c @{:}l | D{.}{.}{1} |}
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{Scale} & \multicolumn{1}{c|}{Diameter (m)} \\ \hline
|
||||
1 & 10000 & 15 \\ \hline
|
||||
1 & 25000 & 37.5 \\ \hline
|
||||
1 & 50000 & 50 \\ \hline
|
||||
1 & 250000 & 250 \\ \hline
|
||||
\end{tabular}
|
||||
\caption{{\WM} parameter table for popular scales.}
|
||||
\label{table:scale-halfcirlce-diameter}
|
||||
\end{table}
|
||||
|
||||
|
||||
\subsection{Definition of a Bend}
|
||||
\label{sec:definition-of-a-bend}
|
||||
|
||||
@ -754,6 +815,7 @@ Other than that, once this section is implemented, each bend will have a list
|
||||
of properties, upon which actions later will be performed.
|
||||
|
||||
\subsection{Shape of a Bend}
|
||||
\label{sec:shape-of-a-bend}
|
||||
|
||||
This section introduces \textsc{adjusted size}, which trivially derives from
|
||||
\textsc{compactness index} $cmp$ and shape's area $A$:
|
||||
|
2
wm.sql
2
wm.sql
@ -627,7 +627,7 @@ begin
|
||||
bends = wm_detect_bends(lines[i], dbgname, gen);
|
||||
bends = wm_fix_gentle_inflections(bends, dbgname, gen);
|
||||
|
||||
select * from wm_self_crossing(bends) into bends, mutated;
|
||||
select * from wm_self_crossing(bends, dbgname, gen) into bends, mutated;
|
||||
|
||||
if mutated then
|
||||
lines[i] = st_linemerge(st_union(bends));
|
||||
|
Loading…
Reference in New Issue
Block a user