\section{Related Work}
\label{sec:relatedWork}

Few approaches implement ADTs for manipulating vague spatial objects in spatial DBMS and GIS~\cite{Krai04Thesis,Dilo06FDSIU,Zinn07VLDB,PaulySch08QASDM,PaulySch10IS,Carn15GeoInfo2}. These approaches mainly differ from our proposed \name\ in the practicable applicability of the user to handle vague spatial objects in spatial queries. We compare these approaches with \name\ by considering the following functionalities related to the support provided by them:
(i)~textual representation,
(ii)~binary representation,
(iii)~spatial operations that return spatial data types values, that is, vague geometric set operations,
(iv)~spatial relationships, that is, vague topological predicates,
(v)~spatial operations that return numbers, that is, vague numerical operations,
(vi)~SQL operators, and
(vii)~coupling with a spatial DBMS.

Table~\ref{tab:comparison} shows a comparison among the functionalities provided by related work and \name\ (last column). The majority of the approaches does not provide textual and binary representations (functionalities (i) and (ii)) to allow the user to insert and retrieve vague spatial objects. While \citeN{Zinn07VLDB} provides input and output functions for vague spatial objects by means of the binary format, this is not the case for the textual representation. The approaches described in \citeN{PaulySch08QASDM} and \citeN{PaulySch10IS} define vague spatial objects by using extensive terminal command lines without any textual or binary representations. The approaches described in \citeN{Krai04Thesis} and \citeN{Dilo06FDSIU} support options to represent vague spatial objects by using files in the format of the GRASS GIS. However, the binary and textual formats are not understandable for users and depend on a specific system, thus limiting interoperability between spatial applications. \citeN{Carn15GeoInfo2} provides a textual representation for manipulating vague spatial objects; but, this is not the case for the binary representation. On the other hand, \name\ define textual and binary representations for vague spatial objects.

Regarding functionality (iii), the approaches described in \citeN{Zinn07VLDB}, \citeN{PaulySch08QASDM}, \citeN{PaulySch10IS}, and \citeN{Carn15GeoInfo2} implement vague geometric union, vague geometric intersection, and vague geometric difference between vague points, vague lines, and vague regions. The approaches described in \citeN{Krai04Thesis} and \citeN{Dilo06FDSIU} do not implement the vague geometric difference between vague lines. Regarding functionalities (iv) and (v), the approaches described in \citeN{PaulySch08QASDM} and \citeN{PaulySch10IS} provide support to vague topological predicates and vague numerical operations, while the remaining approaches do not provide support for these operations, and therefore, limit the management of vague spatial objects and the type of queries that can be processed. Our proposed \name\ implements an expressive set of spatial operations for vague spatial objects, which includes the specification of vague geometric set operations, vague topological predicates, and vague numerical operations.

Furthermore, there is no related work that support SQL operators (functionality (vi)). Although the approaches described in \citeN{PaulySch08QASDM} and \citeN{PaulySch10IS} propose some operators, they do not implement them. As a result, we fill Table~\ref{tab:comparison} with ``No" with regard to these approaches and functionality (vi). However, offering operators in the SQL language is an important functionality since it allows users to intuitively handle results of spatial operations in SQL queries. Therefore, differently from related work, \name\ supports SQL operators.

Finally, regarding functionality (vii), the approaches described in \citeN{Krai04Thesis} and \citeN{Dilo06FDSIU} do not implement vague spatial objects in a spatial DBMS, while the approaches described in \citeN{Zinn07VLDB}, \citeN{PaulySch08QASDM}, \citeN{PaulySch10IS}, and \citeN{Carn15GeoInfo2} offer this functionality. However, the implementation of \citeN{PaulySch08QASDM} and \citeN{PaulySch10IS}\footnote{http://www.cise.ufl.edu/research/SpaceTimeUncertainty/} is developed in Oracle, which has license restrictions. On the other hand, \name\ is an open source implementation based on the PostgreSQL DBMS with the PostGIS spatial extension.

\begin{table}[t]
	\begin{center}
	\caption{\label{tab:comparison} Comparisons of \name\ with related work.}
    \begin{tabular}{m{1cm}@{\hspace{-0.4cm}}l@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c}
    \toprule
    & & \multicolumn{4}{c}{\textbf{Approaches}} \\
   \multicolumn{2}{c}{\multirow{4}{*}{\textbf{\centering{Functionality}}}} &
   \multirow{4}{2.78cm}{Kraipeerapun [2004];\newline Dilo et al. [2006]} &
   \multirow{4}{1.16cm}{Zinn \newline et al. \newline [2007]} &
   \multirow{4}{2.19cm}{Pauly and \newline Schneider [2008];\newline Pauly and \newline Schneider [2010]} &
   \multirow{4}{0.94cm}{Carniel\newline et al.\newline [2015a]} &
   \multirow{4}{2cm}{\centering{~~~Proposed}\newline VagueGeometry} \\
   & & & & & & \\
   & & & & & & \\
   & & & & & & \\
   \midrule
   (i)   & Textual Representation          & Yes      & No         & No         & Yes        & Yes \\
   (ii)  & Binary Representation           & Yes      & Yes        & No         & No         & Yes \\
   (iii) & Vague Geometric Set             & Yes, but & Yes        & Yes        & Yes        & Yes \\
         & Operations                      & not all  &            &            &            & \\
   (iv)  & Vague Topological Predicates    & No       & No         & Yes        & No         & Yes \\
   (v)   & Vague Numerical Operations      & No       & No         & Yes        & No         & Yes \\
   (vi)  & SQL Operators	               & No       & No         & No         & No         & Yes \\
   (vii) & Coupling with a spatial         & No       & Yes, using & Yes, using & Yes, using & Yes, using\\
         & DBMS                            &          & PostgreSQL & Oracle     & PostgreSQL & PostgreSQL \\
   \bottomrule
    \end{tabular}
	\end{center}
\end{table} 