26#ifndef __TERRALIB_WS_OGC_WMSLAYER_H
27#define __TERRALIB_WS_OGC_WMSLAYER_H
31#include "../../../../maptools/AbstractLayer.h"
34#include "../client/DataTypes.h"
35#include "../../../../raster/Raster.h"
86 virtual std::unique_ptr<te::map::LayerSchema>
getSchema()
const;
91 std::unique_ptr<te::da::DataSet>
getData(
const std::string& propertyName,
97 std::unique_ptr<te::da::DataSet>
getData(
const std::string& propertyName,
143 const std::string
saveGetMap(
const std::string& filename)
const;
163 mutable std::unique_ptr<te::map::LayerSchema>
m_schema;
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.
An Envelope defines a 2D rectangular region.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
This is the base class for layers.
A canvas is an abstraction of a drawing area.
A layer with reference to a WMS Layer.
std::string m_datasourceId
The DataSource associated to this layer.
const te::ws::ogc::wms::WMSGetFeatureInfoResponse getFeatureInfo(const te::ws::ogc::wms::WMSGetFeatureInfoRequest &request)
const std::string & getRendererType() const
const std::string & getType() const
It returns the layer type.
const std::string saveGetMap(const std::string &filename) const
It execute a WMS GetMap and save the result image on disk. The request will be based on WMSGetMapRequ...
static const std::string sm_type
A static data member used in the implementation of getType method.
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.
te::map::AbstractLayer * clone()
It returns a clone of the object.
te::ws::ogc::wms::WMSGetMapRequest getRequest() const
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.
void setCurrentSRID(const int &srid)
WMSLayer(const std::string &id, const std::string &title, te::map::AbstractLayer *parent=0)
It initializes a new Layer.
te::ws::ogc::wms::WMSGetMapRequest m_getMapRequest
const std::string & getDataSourceId() const
void setDataSourceId(const std::string &datadourceId)
WMSLayer(te::map::AbstractLayer *parent=0)
It initializes a new layer.
const te::ws::ogc::wms::WMSGetMapResponse getMap() const
It gets a WMS GetMap response with the image on a buffer. The request will be based on WMSGetMapReque...
int m_currentSRID
SRID used when the layer is drawn.
std::string m_rendererType
A pointer to the internal renderer used to paint this layer.
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 setGetMapRequest(const te::ws::ogc::wms::WMSGetMapRequest &getMapRequest)
void draw(te::map::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.
bool isValid() const
It returns true if the layer can be used for instance to draw, otherwise, it returns false.
WMSLayer(const std::string &id, te::map::AbstractLayer *parent=0)
It initializes a new layer.
virtual int getSRID() const
It returns the Spatial Reference System ID associated to the Layer.
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::map::LayerSchema > m_schema
The WMS layer schema.
void setRendererType(const std::string &rendererType)
virtual std::unique_ptr< te::map::LayerSchema > getSchema() const
It returns the layer schema.
te::gm::Envelope m_currentExtent
Layer extent in current SRID.
virtual const te::gm::Envelope & getExtent() const
It returns the Layer extent (or minimum bounding box).
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.
TraverseType
A dataset can be traversed in two ways:
AccessPolicy
Supported data access policies (can be used as bitfield).
SpatialRelation
Spatial relations between geometric objects.
boost::intrusive_ptr< WMSLayer > WMSLayerPtr
The WMSGetFeatureInfoRequest WMS 1.3.0 struct.
The WMSGetMapResponse WMS 1.3.0 struct.
The WMSGetMapRequest WMS 1.3.0 struct.
The WMSGetMapResponse WMS 1.3.0 struct.
#define TEOGCWMSDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).