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/trajectory/TrajectoryDataSetInfo.h" 42 #include "../core/trajectory/TrajectoryDataSet.h" 43 #include "../loader/STDataLoader.h" 47 #include <boost/format.hpp> 80 assert(!
m_info->getObservationDataSetInfo().getDataSetName().empty());
84 return ds->getDataSetType(
m_info->getObservationDataSetInfo().getDataSetName());
98 std::unique_ptr<te::da::DataSet> result = tds->release();
108 std::unique_ptr<te::da::DataSet> result = tds->release();
118 std::unique_ptr<te::da::DataSet> result = tds->release();
126 std::unique_ptr<te::da::DataSet> result;
134 std::unique_ptr<te::da::DataSet> result;
163 std::unique_ptr<te::da::DataSet> result = tds->release();
174 std::unique_ptr<te::da::DataSet> result = tds->release();
185 std::unique_ptr<te::da::DataSet> result = tds->release();
195 std::unique_ptr<te::st::TrajectoryDataSet>
212 if(
m_info->getObservationDataSetInfo().getDataSourceInfo().getId().empty())
225 if(ds.get() == 0 || !ds->isValid() || !ds->isOpened())
234 throw te::map::Exception((boost::format(
TE_TR(
"Could not draw the data set layer %1%. The renderer type is empty!")) %
getTitle()).str());
238 if(renderer.get() == 0)
239 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());
241 renderer->draw(
this, canvas, bbox, srid, scale, cancel);
251 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.
std::unique_ptr< te::st::TrajectoryDataSet > getTrajectoryDataset(te::common::TraverseType travType=te::common::FORWARDONLY) const
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: TRAJECTORYDATASETLAYER.
boost::shared_ptr< DataSource > DataSourcePtr
virtual const std::string & getTitle() const
It returns the layer title.
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
SpatialRelation
Spatial relations between geometric objects.
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. ...
static te::dt::Date ds(2010, 01, 01)
#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.
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.
This class represents a set of unique ids created in the same context. i.e. from the same data set...
bool isValid() const
It returns true if the layer can be used for instance to draw, otherwise, it returns false...
~TrajectoryDataSetLayer()
Destructor.
static te::dt::TimeDuration dt(20, 30, 50, 11)
static const std::string sm_type
A static data member used in the implementation of getType method.
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.
void setRendererType(const std::string &t)
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.
bool hasChilds()
Checks if the layer has any childs.
const std::string & getDataSourceId() const
te::dt::DateTimePeriod * getTemporalExtent() const
It returns the layer temporal extent.
A class that contains infos about a DataSet that contains observations of one or more trajectories...
A canvas is an abstraction of a drawing area.
An abstract class to represent a period of date and time.
TrajectoryDataSetLayer(AbstractLayer *parent=0)
It initializes a new layer.
std::unique_ptr< LayerSchema > getSchema() const
It returns the layer schema.
boost::ptr_vector< TrajectoryDataSetLayer > m_layers
const std::string & getRendererType() const
AbstractLayer(AbstractLayer *parent=0)
It initializes a new layer.
std::unique_ptr< TrajectoryDataSetInfo > m_info
, A container the holds any child layers.
A layer with a reference to an TrajectoryDataSet.