wip slides
This commit is contained in:
parent
b174472473
commit
88ae217f82
14
Makefile
14
Makefile
@ -3,9 +3,8 @@ RIVERFILTER = Visinčia|Šalčia|Nemunas
|
|||||||
|
|
||||||
# Max figure size (in meters) is when it's width is TEXTWIDTH_CM on scale 1:25k
|
# Max figure size (in meters) is when it's width is TEXTWIDTH_CM on scale 1:25k
|
||||||
SCALEDWIDTH = $(shell awk '/^TEXTWIDTH_CM/{print 25000/100*$$3}' layer2img.py)
|
SCALEDWIDTH = $(shell awk '/^TEXTWIDTH_CM/{print 25000/100*$$3}' layer2img.py)
|
||||||
ARCHIVABLES = $(filter-out slides-2021-03-29.txt,$(shell git ls-files .))
|
SLIDES_IN = slides-2021-03-29.txt slides-2021-06-02.tex
|
||||||
SLIDES = slides-2021-03-29.pdf
|
SLIDES = slides-2021-03-29 slides-2021-06-02
|
||||||
|
|
||||||
LISTINGS = aggregate-rivers.sql wm.sql extract-and-generate
|
LISTINGS = aggregate-rivers.sql wm.sql extract-and-generate
|
||||||
|
|
||||||
FIGURES = \
|
FIGURES = \
|
||||||
@ -227,7 +226,7 @@ $(foreach fig,$(RIVERS), $(eval $(call FIG_template,$(fig),.faux_visuals)))
|
|||||||
# The thesis, publishable version
|
# The thesis, publishable version
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
mj-msc-full.pdf: mj-msc.pdf version.inc.tex $(ARCHIVABLES) ## Thesis for publishing
|
mj-msc-full.pdf: mj-msc.pdf version.inc.tex $(filter-out $(SLIDES_IN),$(shell git ls-files .)) ## Thesis for publishing
|
||||||
cp $< .tmp-$@
|
cp $< .tmp-$@
|
||||||
for f in $^; do \
|
for f in $^; do \
|
||||||
if [ "$$f" = "$<" ]; then continue; fi; \
|
if [ "$$f" = "$<" ]; then continue; fi; \
|
||||||
@ -250,7 +249,7 @@ visuals: .faux_visuals # Generate visuals for paper (fast)
|
|||||||
test-rivers: .faux_test-rivers ## Rivers tests (slow)
|
test-rivers: .faux_test-rivers ## Rivers tests (slow)
|
||||||
|
|
||||||
.PHONY: slides
|
.PHONY: slides
|
||||||
slides: $(SLIDES)
|
slides: $(addsuffix .pdf,$(SLIDES))
|
||||||
|
|
||||||
.PHONY: refresh-rivers
|
.PHONY: refresh-rivers
|
||||||
refresh-rivers: refresh-rivers-10.sql refresh-rivers-50.sql refresh-rivers-250.sql ## Refresh river data from national datasets
|
refresh-rivers: refresh-rivers-10.sql refresh-rivers-50.sql refresh-rivers-250.sql ## Refresh river data from national datasets
|
||||||
@ -307,6 +306,9 @@ vars.inc.tex: vars.awk wm.sql Makefile
|
|||||||
slides-2021-03-29.pdf: slides-2021-03-29.txt
|
slides-2021-03-29.pdf: slides-2021-03-29.txt
|
||||||
pandoc -t beamer -i $< -o $@
|
pandoc -t beamer -i $< -o $@
|
||||||
|
|
||||||
|
slides-2021-06-02.pdf: slides-2021-06-02.tex
|
||||||
|
latexmk -pdf $<
|
||||||
|
|
||||||
dump-debug_wm.sql.xz:
|
dump-debug_wm.sql.xz:
|
||||||
docker exec -ti wm-mj pg_dump -Uosm osm -t wm_devug | xz -v > $@
|
docker exec -ti wm-mj pg_dump -Uosm osm -t wm_devug | xz -v > $@
|
||||||
|
|
||||||
@ -330,7 +332,7 @@ clean: ## Clean the current working directory
|
|||||||
$(shell git ls-files -o mj-msc*) \
|
$(shell git ls-files -o mj-msc*) \
|
||||||
$(addsuffix .pdf,$(FIGURES)) \
|
$(addsuffix .pdf,$(FIGURES)) \
|
||||||
$(addsuffix .pdf,$(RIVERS)) \
|
$(addsuffix .pdf,$(RIVERS)) \
|
||||||
$(SLIDES)
|
$(addsuffix .pdf,$(SLIDES))
|
||||||
|
|
||||||
.PHONY: clean-tables
|
.PHONY: clean-tables
|
||||||
clean-tables: ## Remove tables created during unit or rivers tests
|
clean-tables: ## Remove tables created during unit or rivers tests
|
||||||
|
226
slides-2021-06-02.tex
Normal file
226
slides-2021-06-02.tex
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
\documentclass[14pt]{beamer}
|
||||||
|
\usetheme{default}
|
||||||
|
\usepackage[L7x,T1]{fontenc}
|
||||||
|
\usepackage[lithuanian]{babel}
|
||||||
|
\usepackage{graphics}
|
||||||
|
\usepackage{biblatex}
|
||||||
|
\usepackage{tabularx}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usetikzlibrary{shapes.geometric,arrows,positioning}
|
||||||
|
|
||||||
|
\usefonttheme{serif}
|
||||||
|
\definecolor{vulightgrey}{RGB}{220,220,220}
|
||||||
|
\definecolor{vudarkgrey}{RGB}{65,65,65}
|
||||||
|
\definecolor{vupurple}{RGB}{123,0,63}
|
||||||
|
\definecolor{darkgreen}{RGB}{32,96,32}
|
||||||
|
|
||||||
|
\setbeamercolor{title}{fg=vupurple}
|
||||||
|
\setbeamercolor{frametitle}{fg=vupurple}
|
||||||
|
\setbeamercolor{item}{fg=vupurple}
|
||||||
|
\setbeamercolor{navigation symbols dimmed}{fg=vulightgrey}
|
||||||
|
\setbeamercolor{navigation symbols}{fg=vulightgrey}
|
||||||
|
\setbeamercolor{normal text}{fg=vudarkgrey}
|
||||||
|
|
||||||
|
\newcommand{\DP}{Douglas \& Peucker}
|
||||||
|
\newcommand{\VW}{Visvalingam--Whyatt}
|
||||||
|
\newcommand{\WM}{Wang--M{\"u}ller}
|
||||||
|
|
||||||
|
\mode<presentation>{
|
||||||
|
\setbeamertemplate{navigation symbols}{
|
||||||
|
\insertslidenavigationsymbol
|
||||||
|
\insertframenavigationsymbol
|
||||||
|
\hspace{0.2cm}
|
||||||
|
\begin{minipage}[c]{0.5cm}
|
||||||
|
\vspace{-0.1cm}
|
||||||
|
{\strut\insertframenumber{}/\inserttotalframenumber\strut}
|
||||||
|
\end{minipage}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\twocols}[2]
|
||||||
|
{
|
||||||
|
\begin{columns}[c]
|
||||||
|
\begin{column}{0.5\textwidth}
|
||||||
|
#1
|
||||||
|
\end{column}
|
||||||
|
\hspace{0pt} \vrule{}
|
||||||
|
\begin{column}{0.5\textwidth}
|
||||||
|
#2
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% =============================================================================
|
||||||
|
|
||||||
|
\title{
|
||||||
|
\Large\textsc{wang–müller algoritmo realizacija
|
||||||
|
kartografinei upių generalizacijai}
|
||||||
|
|
||||||
|
}
|
||||||
|
\author{\small \bf Motiejus Jakštys \\[4ex]
|
||||||
|
\includegraphics[height=4em]{vu}
|
||||||
|
}
|
||||||
|
|
||||||
|
\date{\small 2021-06-02}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\AtBeginSection[]
|
||||||
|
{
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Turinys}
|
||||||
|
\tableofcontents[currentsection]
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\titlepage
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Problema}
|
||||||
|
|
||||||
|
\begin{frame}{Problema}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
|
||||||
|
\item Dabartiniai atvirai prieinami linijų paprastinimo algoritmai
|
||||||
|
nepritaikyti gamtiniams objektams: upėms, krantų linijoms.
|
||||||
|
|
||||||
|
\item Prarandami raiškūs gamtinių objektų elementai: vingiai, kilpos.
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Uždaviniai}
|
||||||
|
|
||||||
|
\begin{frame}{Uždaviniai: įvertinimas}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item Įvertinti prieinamus linijų paprastinimo algoritmus.
|
||||||
|
\item Identifikuoti pagrindines klasikinių algoritmų problemas.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}{Uždaviniai: realizacija}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item Apibrėžti {\WM} algoritmo techninės realizacijos metodiką.
|
||||||
|
\item Realizuoti {\WM} algoritmą teoriškai ir techniškai detalizuojant jį
|
||||||
|
sudarančias geometrijos keitimo operacijas.
|
||||||
|
\item Pritaikyti skirtingiems duomenų rinkiniams ir gautus rezultatus
|
||||||
|
palyginti su valstybiniais duomenų rinkiniais.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Aktualumas}
|
||||||
|
|
||||||
|
\begin{frame}{Aktualumas: praplečiama teorija}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item Leidžia išplėsti kartografinės teorijos žinias apie gamtinių
|
||||||
|
objektų ribų generalizavimą atsižvelgiant į jų raiškumą.
|
||||||
|
\item {\WM} straipsnyje sprendiniai nedetalizuojami taip, kad būtų
|
||||||
|
galima pritaikyti. Šis darbas tai padaro.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Aktualumas: panaudojimas}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item Išplėstos galimybės pasinaudoti atviro
|
||||||
|
kodo programine įranga kartografinės generalizacijos
|
||||||
|
uždaviniams.
|
||||||
|
\item Sprendimas gali būti pritaikytas kartografų realizuojant
|
||||||
|
automatinius duomenų generalizavimo sprendimus.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Metodika}
|
||||||
|
|
||||||
|
\begin{frame}{Techninė implementacija: aplinka}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item Realizacija kurta PostGIS 3.1.1.
|
||||||
|
|
||||||
|
\item PostGIS yra PostgreSQL duomenų bazės papildinys darbui su GIS.
|
||||||
|
|
||||||
|
\item PostGIS ir PostgreSQL yra atviro kodo ir nemokami.
|
||||||
|
|
||||||
|
\item PostGIS programos gali būti pasiekiamos iš praktiškai bet kokios
|
||||||
|
programavimo kalbos, todėl veikia įvairiose aplinkose.
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Techninė implementacija: algoritmas}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
|
||||||
|
\item Algoritmas implementuotas funkcija \textsc{st\_simplifywm}.
|
||||||
|
|
||||||
|
\item Priima vieną parametrą: \textsc{dhalfcircle}: pusskritulio
|
||||||
|
plotas: analogiško ir didesnio ploto linkių nepaprastina.
|
||||||
|
|
||||||
|
\item Pagalbinės funkcijos:
|
||||||
|
\begin{itemize}
|
||||||
|
\item<4> \textsc{wm\_detect\_bends}
|
||||||
|
\item<4> \textsc{wm\_fix\_gentle\_inflections}
|
||||||
|
\item<4> \textsc{wm\_self\_crossing}
|
||||||
|
\item<4> \textsc{wm\_bend\_attrs}
|
||||||
|
\item<4> \textsc{wm\_st\_split}
|
||||||
|
\item<4> \textsc{wm\_exaggerate\_bend}
|
||||||
|
\item<4> ...
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Algoritmo realizacijos procesas}
|
||||||
|
\tikzset{
|
||||||
|
startstop/.style={trapezium,text centered,minimum height=2em,
|
||||||
|
trapezium left angle=70,trapezium right angle=110,draw=black,fill=red!20},
|
||||||
|
proc/.style={rectangle,minimum height=2em,text centered,draw=black,
|
||||||
|
fill=orange!20},
|
||||||
|
decision/.style={diamond,minimum height=2em,text centered,aspect=3,
|
||||||
|
draw=black,fill=green!20},
|
||||||
|
arrow/.style={thick,->,>=stealth},
|
||||||
|
}
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\scalebox{.35}{
|
||||||
|
\begin{tikzpicture}[node distance=2cm,auto]
|
||||||
|
\node (start) [startstop] {Nuskaityti \textsc{linestring}};
|
||||||
|
\node (detect) [proc,below of=start] {Aptikti linkius};
|
||||||
|
\node (inflections) [proc,below of=detect] {Sutvarkyti nežymius išlinkimus};
|
||||||
|
\node (selfcrossing) [proc,below of=inflections] {Pašalinti save kertančias vietas};
|
||||||
|
\node (mutated1) [decision,below of=selfcrossing] {Koreguotas?};
|
||||||
|
\node (bendattrs) [proc,below of=mutated1] {Apskaičiuoti linkio savybes};
|
||||||
|
\node (exaggeration) [proc,below of=bendattrs] {Didinti linkį};
|
||||||
|
\node (mutated2) [decision,below of=exaggeration] {Koreguotas?};
|
||||||
|
\node (elimination) [proc,below of=mutated2] {Pašalinti linkį};
|
||||||
|
\node (mutated3) [decision,below of=elimination] {Koreguotas?};
|
||||||
|
\node (stop) [startstop,below of=mutated3] {Pabaiga};
|
||||||
|
|
||||||
|
\coordinate [right of=mutated1,node distance=5cm] (mutated1y) {};
|
||||||
|
\coordinate [right of=mutated2,node distance=5cm] (mutated2y) {};
|
||||||
|
\coordinate [right of=mutated3,node distance=5cm] (mutated3y) {};
|
||||||
|
|
||||||
|
\draw [arrow] (start) -- (detect);
|
||||||
|
\draw [arrow] (detect) -- (inflections);
|
||||||
|
\draw [arrow] (inflections) -- (selfcrossing);
|
||||||
|
\draw [arrow] (selfcrossing) -- (mutated1);
|
||||||
|
\draw [arrow] (mutated1) -| node [near start] {Taip} (mutated1y) |- (detect);
|
||||||
|
\draw [arrow] (mutated1) -- node[anchor=west] {Ne} (bendattrs);
|
||||||
|
\draw [arrow] (bendattrs) -- (exaggeration);
|
||||||
|
\draw [arrow] (exaggeration) -- (mutated2);
|
||||||
|
\draw [arrow] (mutated2) -| node [near start] {Taip} (mutated2y) |- (detect);
|
||||||
|
\draw [arrow] (mutated2) -- node[anchor=west] {Ne} (elimination);
|
||||||
|
\draw [arrow] (mutated3) -| node [near start] {Taip} (mutated3y) |- (detect);
|
||||||
|
\draw [arrow] (mutated3) -- node[anchor=west] {Ne} (stop);
|
||||||
|
\draw [arrow] (elimination) -- (mutated3);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Automatiniai testai}
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue
Block a user