26#ifndef __TERRALIB_MAPTOOLS_INTERNAL_QUERYLAYER_H
27#define __TERRALIB_MAPTOOLS_INTERNAL_QUERYLAYER_H
94 std::unique_ptr<te::da::DataSet>
getData(
const std::string& propertyName,
100 std::unique_ptr<te::da::DataSet>
getData(
const std::string& propertyName,
174 const std::string & token,
bool & allowKeysWithNullValues)
const;
This is the base class for Layers.
This is an abstract class that models a query expression.
A Join clause combines two FromItems.
This class represents a set of unique ids created in the same context. i.e. from the same data set.
A Select models a query to be used when retrieving data from a DataSource.
An Envelope defines a 2D rectangular region.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
AbstractLayer(AbstractLayer *parent=0)
It initializes a new layer.
A canvas is an abstraction of a drawing area.
void setQuery(te::da::Select *s)
void draw(Canvas *canvas, const te::gm::Envelope &bbox, int srid, const double &scale, bool *cancel)
It draws the layer geographic objects in the given canvas using the informed SRS.
const std::string & getRendererType() const
te::da::Select * m_query
The dataset name where we will retrieve the layer objects.
LayerSchema * m_schema
The dataset schema.
std::unique_ptr< te::da::DataSet > getData(const std::string &propertyName, const te::gm::Envelope *e, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
It gets the dataset identified by the layer name using a spatial filter over the specified property.
void setRendererType(const std::string &t)
te::da::Select * getQuery() const
std::unique_ptr< te::da::DataSet > getData(te::da::Select *query, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
const std::string & getType() const
It returns the layer type: QUERY_LAYER.
std::unique_ptr< te::da::DataSet > getData(te::da::Expression *restriction, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
It gets the dataset identified by the layer name using the given restriction.
std::unique_ptr< te::da::DataSet > getData(const std::string &propertyName, const te::gm::Geometry *g, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
It gets the dataset identified by the layer name using a spatial filter over the given geometric prop...
std::unique_ptr< te::da::DataSet > getData(te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
It gets the dataset identified by the layer name.
static const std::string sm_type
A static data member used in the implementation of getType method.
QueryLayer(AbstractLayer *parent=0)
It initializes a new layer.
std::unique_ptr< LayerSchema > getSchema() const
It returns the layer schema.
bool isValid() const
It returns true if the layer can be used for instance to draw, otherwise, it returns false.
std::string searchJoin(const te::da::Join *dsJoin, const std::string &token, bool &allowKeysWithNullValues) const
AbstractLayer * clone()
It returns a clone of the object.
QueryLayer(const std::string &id, const std::string &title, AbstractLayer *parent=0)
It initializes a new layer.
std::string m_rendererType
A pointer to the internal renderer used to paint this layer.
std::unique_ptr< te::da::DataSet > getData(const te::da::ObjectIdSet *oids, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess) const
It gets the dataset from the given set of objects identification.
QueryLayer(const std::string &id, AbstractLayer *parent=0)
It initializes a new layer.
std::string getQueryAsString() const
virtual void setOutOfDate()
Its indicate that the layer schema is out of date.
TraverseType
A dataset can be traversed in two ways:
AccessPolicy
Supported data access policies (can be used as bitfield).
Namespace for the DataAccess API of TerraLib.
SpatialRelation
Spatial relations between geometric objects.
Namespace for the Map Tools module of TerraLib.
boost::intrusive_ptr< QueryLayer > QueryLayerPtr
te::da::DataSetType LayerSchema