A basic query processor for spatial restrictions. More...
#include <SpatialQueryProcessor.h>
Public Member Functions | |
| virtual std::unique_ptr< DataSet > | getDataSet (const DataSourcePtr &ds, const Select &q, te::common::TraverseType travType=te::common::FORWARDONLY) |
| 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< ObjectIdSet > | getOIDSet (const DataSourcePtr &ds, const Select &q) |
| virtual std::unique_ptr< ObjectIdSet > | getOIDSet (DataSourceTransactor *t, const QueryCapabilities &capabilities, const Select &q) |
| SpatialQueryProcessor () | |
| Constructor. More... | |
| virtual | ~SpatialQueryProcessor () |
| Virtual destructor. More... | |
Protected Member Functions | |
| virtual std::unique_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.
|
default |
Constructor.
|
virtualdefault |
Virtual destructor.
|
private |
Definition at line 312 of file SpatialQueryProcessor.cpp.
References te::gm::Geometry::getMBR(), te::da::SpatialRestriction::m_geometry, and te::gm::Envelope::Union().
|
private |
Definition at line 363 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::AttributeRestrictionVisitor::getAttributeRestrictions(), and te::da::AttributeRestrictionVisitor::hasAttributeRestrictions().
Referenced by getOIDSet().
|
virtual |
Definition at line 62 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
Referenced by te::map::DataSetLayer::getData().
|
virtual |
Definition at line 73 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::DataSourceTransactor::getDataSet(), getDataSetName(), getOIDSet(), te::da::SpatialRestrictionVisitor::getSpatialRestrictions(), te::da::SpatialRestrictionVisitor::hasSpatialRestrictions(), te::da::DataSourceTransactor::query(), supportsSpatialTopologicOperatos(), and TE_TR.
|
private |
Definition at line 347 of file SpatialQueryProcessor.cpp.
References te::da::Select::getFrom(), and te::da::DataSetName::getName().
Referenced by getDataSet(), and getOIDSet().
|
virtual |
Definition at line 105 of file SpatialQueryProcessor.cpp.
References capabilities, and te::da::DataSourceCapabilities::getQueryCapabilities().
Referenced by getDataSet(), and getOIDSet().
|
virtual |
Definition at line 116 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::common::FORWARDONLY, te::da::GenerateOIDSet(), getAttrRestrictions(), getDataSetName(), te::da::DataSourceTransactor::getDataSetType(), te::da::GetEmptyOIDSet(), te::da::Select::getFields(), te::da::Select::getFrom(), getOIDSet(), te::da::DataSourceTransactor::query(), te::da::Select::setFields(), te::da::Select::setFrom(), supportsSpatialTopologicOperatos(), and te::da::ObjectIdSet::Union().
|
protectedvirtual |
Definition at line 180 of file SpatialQueryProcessor.cpp.
References te::common::BaseVisitable< T, R >::accept(), getAttrRestrictions(), getDataSetName(), te::da::DataSourceTransactor::getDataSetType(), te::da::GetEmptyOIDSet(), te::da::Select::getFields(), te::da::Select::getFrom(), getOIDSet(), te::da::Select::setFields(), te::da::Select::setFrom(), and te::da::ObjectIdSet::Union().
|
protectedvirtual |
Definition at line 234 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 329 of file SpatialQueryProcessor.cpp.
References te::da::Function::getName(), te::da::QueryCapabilities::getSpatialTopologicOperators(), and te::da::SpatialRestriction::m_function.
Referenced by getDataSet(), and getOIDSet().