further work

main
Motiejus Jakštys 2021-05-19 22:57:51 +03:00 committed by Motiejus Jakštys
parent 94a52c3bfe
commit bd6b21bc04
1 changed files with 39 additions and 10 deletions

View File

@ -593,6 +593,7 @@ throughout this paper and the implementation.
\end{description}
\subsection{Algorithm Implementation Process}
\label{sec:algorithm-implementation-process}
\tikzset{
startstop/.style={trapezium,text centered,minimum height=2em,
@ -655,13 +656,13 @@ We have taken a different approach: process each step fully for the line,
before moving to the next step. This way provides the following advantages:
\begin{itemize}
\item For \textsc{eliminate self-crossing} stage, when it finds a bend with the right
sum of inflection angles, it checks the whole line for self-crossings.
This is impossible with streaming because it requires having the full
line in memory. It could be optimized by, for example, looking for a
fixed number of neighboring bends (say, 10), but that would complicate
the implementation.
\item For \textsc{eliminate self-crossing} stage, when it finds a bend with
the right sum of inflection angles, it checks the whole line for
self-crossings. This is impossible with streaming because it requires
having the full line in memory. It could be optimized by, for example,
looking for a fixed number of neighboring bends (say, 10), but that
would complicate the implementation.
\item \textsc{fix gentle inflections} is iterating the same line twice from
opposite directions. That could be re-written to streaming fashion, but
@ -1260,6 +1261,7 @@ beyond repeating the elimination steps in an illustrated example.
\end{figure}
\subsection{Combination Operator}
\label{sec:combination-operator}
Combination operator was not implemented in this version.
@ -1331,6 +1333,7 @@ the algorithm.
\section{Results}
\subsection{Generalization Results of Analyzed Rivers}
\label{sec:generalization-results-of-analyzed-rivers}
Figures~\ref{fig:salvis-wm-50k} and~\ref{fig:salvis-wm-250k} visualize
the generalization result for Šalčia and Visinčia using {\WM} with the
@ -1457,15 +1460,41 @@ transformation was described and visualized. The implemented algorithm was
applied for different shapes and compared to national (Lithuanian) datasets.
About 1,000 lines of Procedural SQL were written for the algorithm and tests,
and a few hundred lines of supporting scripts in Make, Python, Awk, Bash.
With the help of its permissive license and early interest, the algorithm code has
and a few hundred lines of supporting scripts in Make, Python, Awk, Bash. With
the help of its permissive license and early interest, the algorithm code has
already been used to create a prototype on-line service to evaluate the
algorithm robustness.
\section{Related Work And Future Suggestions}
\section{Future Suggestions}
\label{sec:related_work}
% TODO: write after section~\ref{sec:conclusions} is complete.
These are the areas for possible future work with this, published,
implementation:
\begin{itemize}
\item Implement bend combination operator
(section~\ref{sec:combination-operator}).
\item Fine-tune parameters for bend exaggeration.
Section~\ref{sec:generalization-results-of-analyzed-rivers} contains
a exaggerated bends that became sharp.
\item Research when bends should be marked as \textsc{isolated}. As is
seen from examples, the current criteria is not robust enough.
\item Once the points above yield a satisfactory result, efficiency of the
algorithm could be improved to work on the lines in "streaming" fashion
(more details in section~\ref{sec:algorithm-implementation-process}).
\end{itemize}
That sums up what could be improved without changing the algorithm in a
significant way. Other than that, further area of research is working towards
graduating the algorithm from "isolated cartographic generalization" to "full
cartographic generalization". The current operators of {\WM} algorithm have a
few venues to preserve the surrounding topology. This could be further
researched and extended.
\section{Acknowledgments}
\label{sec:acknowledgments}