adjusted size and compactness index
This commit is contained in:
parent
2fea945908
commit
42bdf894f2
35
mj-msc.tex
35
mj-msc.tex
@ -458,7 +458,7 @@ bends need to be checked.
|
|||||||
|
|
||||||
\subsection{Attributes of a Single Bend}
|
\subsection{Attributes of a Single Bend}
|
||||||
|
|
||||||
Compactness Index $cmp$ is "the ratio of the area of the polygon over the
|
\textsc{Compactness Index} is "the ratio of the area of the polygon over the
|
||||||
circle whose circumference length is the same as the length of the
|
circle whose circumference length is the same as the length of the
|
||||||
circumference of the polygon" \cite{wang1998line}. We assume the area of the
|
circumference of the polygon" \cite{wang1998line}. We assume the area of the
|
||||||
circle is meant. Given a bend, its compactness index is calculated as follows:
|
circle is meant. Given a bend, its compactness index is calculated as follows:
|
||||||
@ -486,10 +486,39 @@ circle is meant. Given a bend, its compactness index is calculated as follows:
|
|||||||
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
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}
|
\subsection{Shape of a Bend}
|
||||||
|
|
||||||
|
This section introduces \textsc{adjusted size}, which trivially derives from
|
||||||
|
\textsc{compactness index} $cmp$ and shape's area $A$:
|
||||||
|
|
||||||
|
\[
|
||||||
|
adjsize = \frac{0.75 A}{cmp}
|
||||||
|
\]
|
||||||
|
|
||||||
|
Adjusted size becomes necessary later to compare bends with each other, and
|
||||||
|
find out similar ones.
|
||||||
|
|
||||||
\subsection{The Context of a Bend: Isolated and Similar Bends}
|
\subsection{The Context of a Bend: Isolated and Similar Bends}
|
||||||
|
|
||||||
|
To find out whether two bends are similar, they are compared by 3 components:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \textsc{Adjusted Size}
|
||||||
|
\item \textsc{Compactness index}
|
||||||
|
\item Baseline length
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
These 3 components represent a point in the 3-dimensional space, and Euclidean
|
||||||
|
distance $d$ between those is calculated to differentiate between bends $p$ and
|
||||||
|
$q$:
|
||||||
|
|
||||||
|
\[
|
||||||
|
d(p,q) = \sqrt{(adjsize_p - adjsize_q)^2 + (cmp_p - cmp_q)^2 + (baseline_p - baseline_q)^2}
|
||||||
|
\]
|
||||||
|
|
||||||
\subsection{Elimination Operator}
|
\subsection{Elimination Operator}
|
||||||
|
|
||||||
\subsection{Combination Operator}
|
\subsection{Combination Operator}
|
||||||
@ -524,8 +553,8 @@ We strongly believe in the ability to reproduce the results is critical for any
|
|||||||
|
|
||||||
This was tested on Linux Debian 11 with upstream packages only.
|
This was tested on Linux Debian 11 with upstream packages only.
|
||||||
|
|
||||||
\subsection{Algorithm code listings}
|
%\subsection{Algorithm code listings}
|
||||||
\inputminted[fontsize=\small]{postgresql}{wm.sql}
|
%\inputminted[fontsize=\small]{postgresql}{wm.sql}
|
||||||
|
|
||||||
\end{appendices}
|
\end{appendices}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
4
wm.sql
4
wm.sql
@ -353,8 +353,8 @@ begin
|
|||||||
-- area of the circle. So here goes:
|
-- area of the circle. So here goes:
|
||||||
-- 1. get polygon area P.
|
-- 1. get polygon area P.
|
||||||
-- 2. get polygon perimeter = u. Pretend it's our circle's circumference.
|
-- 2. get polygon perimeter = u. Pretend it's our circle's circumference.
|
||||||
-- 3. get A (area) of the circle from u: A = (u^2)/(4*pi)
|
-- 3. get A (area) of the circle from u: A = u^2/(4pi)
|
||||||
-- 4. divide P by A: cmp = P/A = P/((u^2)*4*pi) = 4*pi*P/u^2
|
-- 4. divide P by A: cmp = P/A = P/(u^2/(4pi)) = 4pi*P/u^2
|
||||||
res.area = st_area(polygon);
|
res.area = st_area(polygon);
|
||||||
res.cmp = fourpi*res.area/(st_perimeter(polygon)^2);
|
res.cmp = fourpi*res.area/(st_perimeter(polygon)^2);
|
||||||
if res.cmp > 0 then
|
if res.cmp > 0 then
|
||||||
|
Loading…
Reference in New Issue
Block a user