26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_SPATIALQUERYPROCESSOR_H 
   27 #define __TERRALIB_DATAACCESS_INTERNAL_SPATIALQUERYPROCESSOR_H 
   30 #include "../../common/Enums.h" 
   31 #include "../../geometry/Envelope.h" 
   32 #include "../dataset/DataSet.h" 
   33 #include "../dataset/ObjectIdSet.h" 
   34 #include "../datasource/DataSource.h" 
   37 #include <boost/noncopyable.hpp> 
   49     class DataSourceTransactor;
 
   50     class QueryCapabilities;
 
   52     struct SpatialRestriction;
 
   75                                                   bool connected = 
false);
 
   87                                        const std::vector<te::gm::Geometry*>& geomRestrictions);
 
   92                                               const std::vector<SpatialRestriction*>& restrictions) 
const;
 
te::da::DataSourceCapabilities capabilities
 
A class that models the description of a dataset.
 
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
 
This is an abstract class that models a query expression.
 
This class represents a set of unique ids created in the same context. i.e. from the same data set.
 
A class that informs the query support of a given data source.
 
A Select models a query to be used when retrieving data from a DataSource.
 
A basic query processor for spatial restrictions.
 
virtual std::unique_ptr< ObjectIdSet > getOIDSet(DataSourceTransactor *t, const QueryCapabilities &capabilities, const Select &q)
 
std::string getDataSetName(const Select &q) const
 
Expression * getAttrRestrictions(const Select &q) const
 
virtual ObjectIdSet * getOIDSet(DataSourceTransactor *t, Select &baseSelect, te::da::Expression *attrRestrictions, SpatialRestriction *restriction, const DataSetType *type, const std::vector< te::gm::Geometry * > &geomRestrictions)
 
te::gm::Envelope * computeEnvelope(const std::vector< SpatialRestriction * > &restrictions) const
 
virtual std::unique_ptr< DataSet > getDataSet(DataSourceTransactor *t, const QueryCapabilities &capabilities, const Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
 
virtual std::unique_ptr< DataSet > getDataSet(const DataSourcePtr &ds, const Select &q, te::common::TraverseType travType=te::common::FORWARDONLY)
 
virtual std::unique_ptr< ObjectIdSet > getOIDSet(const DataSourcePtr &ds, const Select &q)
 
bool supportsSpatialTopologicOperatos(const QueryCapabilities &capabilities, const std::vector< SpatialRestriction * > &restrictions) const
 
virtual ~SpatialQueryProcessor()
Virtual destructor.
 
SpatialQueryProcessor()
Constructor.
 
virtual std::unique_ptr< ObjectIdSet > getOIDSet(DataSourceTransactor *t, const Select &q)
 
An Envelope defines a 2D rectangular region.
 
TraverseType
A dataset can be traversed in two ways:
 
boost::shared_ptr< DataSource > DataSourcePtr
 
A struct that represents a spatial restriction.
 
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.