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, 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 |
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 56 of file SpatialQueryProcessor.cpp.
|
virtual |
Virtual destructor.
Definition at line 60 of file SpatialQueryProcessor.cpp.
|
private |
Definition at line 307 of file SpatialQueryProcessor.cpp.
References te::gm::Geometry::getMBR(), te::da::SpatialRestriction::m_geometry, and te::gm::Envelope::Union().
|
virtual |
Definition at line 64 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
Referenced by te::map::DataSetLayer::getData().
|
virtual |
Definition at line 75 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 TR_DATAACCESS.
|
private |
Definition at line 342 of file SpatialQueryProcessor.cpp.
References te::da::Select::getFrom(), and te::da::DataSetName::getName().
|
virtual |
Definition at line 107 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
|
virtual |
Definition at line 118 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 179 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 230 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 324 of file SpatialQueryProcessor.cpp.
References te::da::Function::getName(), te::da::QueryCapabilities::getSpatialTopologicOperators(), and te::da::SpatialRestriction::m_function.