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>
64 const std::string& title, AbstractLayer* parent,
77 assert(!m_info->getObservationDataSetInfo().getDataSetName().empty());
81 return ds->getDataSetType(m_info->getObservationDataSetInfo().getDataSetName());
93 std::auto_ptr<te::da::DataSet> result = tds->release();
104 std::auto_ptr<te::da::DataSet> result = tds->release();
115 std::auto_ptr<te::da::DataSet> result = tds->release();
143 std::auto_ptr<te::da::DataSet> result = tds->release();
153 std::auto_ptr<te::da::DataSet> result = tds->release();
163 std::auto_ptr<te::da::DataSet> result = tds->release();
173 std::auto_ptr<te::st::TrajectoryDataSet>
190 if(m_info->getDataSourceInfo().getId().empty())
203 if(ds.get() == 0 || !ds->isValid() || !ds->isOpened())
211 if(m_rendererType.empty())
212 throw te::map::Exception((boost::format(TR_MAP(
"Could not draw the data set layer %1%. The renderer type is empty!")) % getTitle()).str());
216 if(renderer.get() == 0)
217 throw te::map::Exception((boost::format(TR_MAP(
"Could not draw the data set layer %1%. The renderer %2% could not be created!")) % getTitle() % m_rendererType).str());
219 renderer->draw(
this, canvas, bbox, srid);
229 return m_rendererType;
239 if (m_layers.empty())
TEDATAACCESSEXPORT DataSourcePtr GetDataSource(const std::string &datasourceId, const bool opened=true)
Search for a data source with the informed id in the DataSourceManager.
const std::string & getType() const
It returns the layer type: DATASET_LAYER.
void draw(te::map::Canvas *canvas, const te::gm::Envelope &bbox, int srid)
It draws the layer geographic objects in the given canvas using the informed SRS. ...
boost::shared_ptr< DataSource > DataSourcePtr
TrajectoryDataSetLayer(AbstractLayer *parent, TrajectoryDataSetInfo *info)
It initializes a new layer.
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
SpatialRelation
Spatial relations between geometric objects.
std::auto_ptr< te::st::TrajectoryDataSet > getTrajectoryDataset(te::common::TraverseType travType=te::common::FORWARDONLY) const
std::auto_ptr< LayerSchema > getSchema() const
It returns the layer schema.
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.
bool isValid() const
It returns true if the layer can be used for instance to draw, otherwise, it returns false...
~TrajectoryDataSetLayer()
Destructor.
static const std::string sm_type
A static data member used in the implementation of getType method.
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.
std::auto_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.
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.
const std::string & getRendererType() const
static std::auto_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns a ObservationDataSet, that is, a DataSet that contains observations.
A layer with a reference to an TrajectoryDataSet.