further work

This commit is contained in:
Motiejus Jakštys 2021-05-19 22:57:51 +03:00 committed by Motiejus Jakštys
parent 94a52c3bfe
commit bd6b21bc04

View File

@ -593,6 +593,7 @@ throughout this paper and the implementation.
\end{description} \end{description}
\subsection{Algorithm Implementation Process} \subsection{Algorithm Implementation Process}
\label{sec:algorithm-implementation-process}
\tikzset{ \tikzset{
startstop/.style={trapezium,text centered,minimum height=2em, 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: before moving to the next step. This way provides the following advantages:
\begin{itemize} \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. \item For \textsc{eliminate self-crossing} stage, when it finds a bend with
This is impossible with streaming because it requires having the full the right sum of inflection angles, it checks the whole line for
line in memory. It could be optimized by, for example, looking for a self-crossings. This is impossible with streaming because it requires
fixed number of neighboring bends (say, 10), but that would complicate having the full line in memory. It could be optimized by, for example,
the implementation. 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 \item \textsc{fix gentle inflections} is iterating the same line twice from
opposite directions. That could be re-written to streaming fashion, but 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} \end{figure}
\subsection{Combination Operator} \subsection{Combination Operator}
\label{sec:combination-operator}
Combination operator was not implemented in this version. Combination operator was not implemented in this version.
@ -1331,6 +1333,7 @@ the algorithm.
\section{Results} \section{Results}
\subsection{Generalization Results of Analyzed Rivers} \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 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 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. applied for different shapes and compared to national (Lithuanian) datasets.
About 1,000 lines of Procedural SQL were written for the algorithm and tests, 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. and a few hundred lines of supporting scripts in Make, Python, Awk, Bash. With
With the help of its permissive license and early interest, the algorithm code has 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 already been used to create a prototype on-line service to evaluate the
algorithm robustness. algorithm robustness.
\section{Related Work And Future Suggestions} \section{Future Suggestions}
\label{sec:related_work} \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} \section{Acknowledgments}
\label{sec:acknowledgments} \label{sec:acknowledgments}