27 #include "../../dataaccess/query/DataSetName.h" 28 #include "../../dataaccess/query/Field.h" 29 #include "../../dataaccess/query/Fields.h" 30 #include "../../dataaccess/query/From.h" 31 #include "../../dataaccess/query/FromItem.h" 32 #include "../../dataaccess/query/Select.h" 33 #include "../../dataaccess/query/SpatialQueryProcessor.h" 34 #include "../../dataaccess/query/Where.h" 35 #include "../../dataaccess/utils/Utils.h" 36 #include "../../datatype/DateTime.h" 37 #include "../../datatype/DateTimePeriod.h" 38 #include "../../maptools/Exception.h" 39 #include "../../maptools/RendererFactory.h" 40 #include "../core/observation/ObservationDataSet.h" 41 #include "../core/timeseries/TimeSeriesDataSetInfo.h" 42 #include "../core/timeseries/TimeSeriesDataSet.h" 43 #include "../loader/STDataLoader.h" 47 #include <boost/format.hpp> 75 assert(!
m_info->getObservationDataSetInfo().getDataSetName().empty());
79 return ds->getDataSetType(
m_info->getObservationDataSetInfo().getDataSetName());
95 std::unique_ptr<te::da::DataSet> result = tds->release();
105 std::unique_ptr<te::da::DataSet> result = tsds->release();
115 std::unique_ptr<te::da::DataSet> result = tsds->release();
123 std::unique_ptr<te::da::DataSet> result;
131 std::unique_ptr<te::da::DataSet> result;
160 std::unique_ptr<te::da::DataSet> result = tds->release();
171 std::unique_ptr<te::da::DataSet> result = tds->release();
182 std::unique_ptr<te::da::DataSet> result = tds->release();
192 std::unique_ptr<te::st::TimeSeriesDataSet>
198 std::unique_ptr<te::st::TimeSeriesDataSet> result;
203 std::unique_ptr<te::st::TimeSeriesDataSet>
209 std::unique_ptr<te::st::TimeSeriesDataSet> result;
216 if(
m_info->getObservationDataSetInfo().getDataSourceInfo().getId().empty())
229 if(ds.get() == 0 || !ds->isValid() || !ds->isOpened())
238 throw te::map::Exception((boost::format(
TE_TR(
"Could not draw the data set layer %1%. The renderer type is empty!")) %
getTitle()).str());
242 if(renderer.get() == 0)
243 throw te::map::Exception((boost::format(
TE_TR(
"Could not draw the data set layer %1%. The renderer %2% could not be created!")) %
getTitle() %
m_rendererType).str());
245 renderer->draw(
this, canvas, bbox, srid, scale, cancel);
255 return m_info->getObservationDataSetInfo().getDataSourceInfo().getId();
TEDATAACCESSEXPORT DataSourcePtr GetDataSource(const std::string &datasourceId, const bool opened=true)
Search for a data source with the informed id in the DataSourceManager.
boost::ptr_vector< TimeSeriesDataSetLayer > m_layers
const std::string & getDataSourceId() const
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. ...
boost::shared_ptr< DataSource > DataSourcePtr
virtual const std::string & getTitle() const
It returns the layer title.
~TimeSeriesDataSetLayer()
Destructor.
std::string m_rendererType
A pointer to the internal renderer used to paint this layer.
const std::string & getType() const
It returns the layer type: TIMESERIESDATASETLAYER.
bool isValid() const
It returns true if the layer can be used for instance to draw, otherwise, it returns false...
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
SpatialRelation
Spatial relations between geometric objects.
static te::dt::Date ds(2010, 01, 01)
const std::string & getRendererType() const
#define TE_TR(message)
It marks a string in order to get translated.
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.
This is an abstract class that models a query expression.
A layer with a reference to an TimeSeriesDataSet.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
A layer with reference to a dataset that contains spatiotemporal data.
An Envelope defines a 2D rectangular region.
void setRendererType(const std::string &t)
This class represents a set of unique ids created in the same context. i.e. from the same data set...
static te::dt::TimeDuration dt(20, 30, 50, 11)
std::unique_ptr< TimeSeriesDataSetInfo > m_info
, A container the holds any child layers.
static std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns a ObservationDataSet, that is, a DataSet that contains observations.
std::unique_ptr< te::st::TimeSeriesDataSet > getTimeSeriesDataset(te::common::TraverseType travType=te::common::FORWARDONLY) const
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
static AbstractRenderer * make(const std::string &factoryKey)
It creates an object with the appropriated factory.
A canvas is an abstraction of a drawing area.
A class that contains infos about a DataSet that contains observations of one or more time series...
An abstract class to represent a period of date and time.
TimeSeriesDataSetLayer(AbstractLayer *parent, TimeSeriesDataSetInfo *info)
It initializes a new layer.
static const std::string sm_type
A static data member used in the implementation of getType method.
AbstractLayer(AbstractLayer *parent=0)
It initializes a new layer.
te::dt::DateTimePeriod * getTemporalExtent() const
It returns the layer temporal extent.
std::unique_ptr< LayerSchema > getSchema() const
It returns the layer schema.
bool hasChilds()
Checks if the layer has any childs.