Loading...
Searching...
No Matches
SpatialCapabilities.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file SpatialCapabilities.h
22
23 \brief Spatial capabilities include the ability to filter spatial data.
24 */
25
26#ifndef __TERRALIB_FE_INTERNAL_SPATIALCAPABILITIES_H
27#define __TERRALIB_FE_INTERNAL_SPATIALCAPABILITIES_H
28
29// TerraLib
30#include "Config.h"
31
32namespace te
33{
34 namespace fe
35 {
36// Forward declarations
37 class GeometryOperands;
38 class SpatialOperators;
39
40 /*!
41 \class SpatialCapabilities
42
43 \brief Spatial capabilities include the ability to filter spatial data.
44
45 A service that supports spatial filtering shall
46 include a spatial capabilities section in the capabilities
47 document that it returns. Spatial capabilities include
48 the ability to filter spatial data of specified geometry
49 types based on the definition of a bounding box (BBOX) as well
50 as the ability to process the spatial operators defined by
51 CQL and the Simple Features for SQL specification:
52 <ul>
53 <li>Equals</li>
54 <li>Disjoint</li>
55 <li>Touches</li>
56 <li>Within</li>
57 <li>Overlaps</li>
58 <li>Crosses</li>
59 <li>Intersects</li>
60 <li>Contains</li>
61 <li>DWithin</li>
62 <li>Beyond</li>
63 </ul>
64
65 \sa FilterCapabilities, GeometryOperands, SpatialOperators
66 */
68 {
69 public:
70
71 /** @name Initializer Methods
72 * Methods related to instantiation and destruction.
73 */
74 //@{
75
76 /*! \brief It initializes a new SpatialCapabilities. */
78
79 /*! \brief Destructor. */
81
82 //@}
83
84 /** @name Accessor methods
85 * Methods used to get or set properties.
86 */
87 //@{
88
89 /*!
90 \brief It sets the geometry operands.
91
92 \param gOps The geometry operands.
93
94 \note It will take the ownership of the geometry operands.
95 So, don't release the geometry operands resources.
96 */
98
99 /*!
100 \brief It returns the geometry operands.
101
102 \return The geometry operands.
103 */
105
106 /*!
107 \brief It sets the spatial operators.
108
109 \param sOps The spatial operators.
110
111 \note It will take the ownership of the spatial operators.
112 So, don't release the arithmetic operators resources.
113 */
115
116 /*!
117 \brief It returns the spatial operators.
118
119 \return The spatial operators.
120 */
122
123 //@}
124
125 private:
126
129 };
130
131 } // end namespace fe
132} // end namespace te
133
134#endif // __TERRALIB_FE_INTERNAL_SPATIALCAPABILITIES_H
Geometry operands.
Spatial capabilities include the ability to filter spatial data.
~SpatialCapabilities()
Destructor.
void setGeometryOperands(GeometryOperands *gOps)
It sets the geometry operands.
void setSpatialOperators(SpatialOperators *sOps)
It sets the spatial operators.
const SpatialOperators * getSpatialOperators() const
It returns the spatial operators.
SpatialOperators * m_spatialOperators
Mandatory.
const GeometryOperands * getGeometryOperands() const
It returns the geometry operands.
SpatialCapabilities()
It initializes a new SpatialCapabilities.
GeometryOperands * m_geometryOperands
Mandatory.
Spatial operators.
TerraLib.
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59
Proxy configuration file for TerraView (see terraview_config.h).