A basic query processor for spatial restrictions. More...
#include <SpatialQueryProcessor.h>
Public Member Functions | |
virtual std::auto_ptr< DataSet > | getDataSet (const DataSourcePtr &ds, const Select &q, te::common::TraverseType travType=te::common::FORWARDONLY) |
virtual std::auto_ptr< DataSet > | getDataSet (DataSourceTransactor *t, const QueryCapabilities &capabilities, const Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false) |
virtual std::auto_ptr < ObjectIdSet > | getOIDSet (const DataSourcePtr &ds, const Select &q) |
virtual std::auto_ptr < ObjectIdSet > | getOIDSet (DataSourceTransactor *t, const QueryCapabilities &capabilities, const Select &q) |
SpatialQueryProcessor () | |
Constructor. More... | |
virtual | ~SpatialQueryProcessor () |
Virtual destructor. More... | |
Protected Member Functions | |
virtual std::auto_ptr < ObjectIdSet > | getOIDSet (DataSourceTransactor *t, const Select &q) |
virtual ObjectIdSet * | getOIDSet (DataSourceTransactor *t, Select &baseSelect, te::da::Expression *attrRestrictions, SpatialRestriction *restriction, const DataSetType *type, const std::vector< te::gm::Geometry * > &geomRestrictions) |
Private Member Functions | |
te::gm::Envelope * | computeEnvelope (const std::vector< SpatialRestriction * > &restrictions) const |
Expression * | getAttrRestrictions (const Select &q) const |
std::string | getDataSetName (const Select &q) const |
bool | supportsSpatialTopologicOperatos (const QueryCapabilities &capabilities, const std::vector< SpatialRestriction * > &restrictions) const |
A basic query processor for spatial restrictions.
Definition at line 59 of file SpatialQueryProcessor.h.
te::da::SpatialQueryProcessor::SpatialQueryProcessor | ( | ) |
Constructor.
Definition at line 58 of file SpatialQueryProcessor.cpp.
|
virtual |
Virtual destructor.
Definition at line 62 of file SpatialQueryProcessor.cpp.
|
private |
Definition at line 316 of file SpatialQueryProcessor.cpp.
References te::gm::Geometry::getMBR(), te::da::SpatialRestriction::m_geometry, and te::gm::Envelope::Union().
|
private |
Definition at line 367 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::AttributeRestrictionVisitor::getAttributeRestrictions(), and te::da::AttributeRestrictionVisitor::hasAttributeRestrictions().
|
virtual |
Definition at line 66 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
Referenced by te::map::DataSetLayer::getData().
|
virtual |
Definition at line 77 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::DataSourceTransactor::getDataSet(), te::da::SpatialRestrictionVisitor::getSpatialRestrictions(), te::da::SpatialRestrictionVisitor::hasSpatialRestrictions(), te::da::DataSourceTransactor::query(), and TE_TR.
|
private |
Definition at line 351 of file SpatialQueryProcessor.cpp.
References te::da::Select::getFrom(), and te::da::DataSetName::getName().
|
virtual |
Definition at line 109 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
|
virtual |
Definition at line 120 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::common::FORWARDONLY, te::da::GenerateOIDSet(), te::da::DataSourceTransactor::getDataSetType(), te::da::GetEmptyOIDSet(), te::da::Select::getFields(), te::da::Select::getFrom(), te::da::DataSourceTransactor::query(), te::da::Select::setFields(), te::da::Select::setFrom(), and te::da::ObjectIdSet::Union().
|
protectedvirtual |
Definition at line 184 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::DataSourceTransactor::getDataSetType(), te::da::GetEmptyOIDSet(), te::da::Select::getFields(), te::da::Select::getFrom(), te::da::Select::setFields(), te::da::Select::setFrom(), and te::da::ObjectIdSet::Union().
|
protectedvirtual |
Definition at line 238 of file SpatialQueryProcessor.cpp.
References te::common::FORWARDONLY, te::da::GenerateOID(), te::da::GetEmptyOIDSet(), te::gm::Geometry::getMBR(), te::gm::Geometry::getSRID(), te::da::SpatialRestriction::m_geometry, te::da::SpatialRestriction::m_pname, te::da::SpatialRestriction::m_type, te::da::DataSourceTransactor::query(), te::gm::SatisfySpatialRelation(), and te::da::Select::setWhere().
|
private |
Definition at line 333 of file SpatialQueryProcessor.cpp.
References te::da::Function::getName(), te::da::QueryCapabilities::getSpatialTopologicOperators(), and te::da::SpatialRestriction::m_function.