27 #ifndef __TERRALIB_ST_INTERNAL_STDATALOADERIMPL_H
28 #define __TERRALIB_ST_INTERNAL_STDATALOADERIMPL_H
31 #include "../../common/Enums.h"
32 #include "../../geometry/Enums.h"
33 #include "../../geometry/Envelope.h"
34 #include "../../datatype/Enums.h"
37 #include "../Config.h"
43 #include <boost/ptr_container/ptr_vector.hpp>
46 namespace te {
namespace gm {
class Geometry; } }
47 namespace te {
namespace dt {
class DateTime;
class DateTimePeriod; } }
54 class ObservationDataSet;
55 class TrajectoryDataSet;
56 class TimeSeriesDataSet;
57 class CoverageSeriesDataSet;
58 class ObservationDataSetInfo;
59 class TrajectoryDataSetInfo;
60 class TimeSeriesDataSetInfo;
61 class CoverageSeriesDataSetInfo;
247 std::vector<TrajectoryDataSetInfo>& output) = 0;
433 std::vector<TimeSeriesDataSetInfo>& output) = 0;
An Envelope defines a 2D rectangular region.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A class that contains infos about a DataSet that contains observations.
An abstract class responsible for loading spatiotemporal data from data sources.
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a ObservationDataSet, that is, a DataSet that contains observations.
virtual std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const TimeSeriesDataSetInfo &info)=0
It returns the temporal extent of the data set with observations of a time series.
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation r=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations whose phenomenon times satisfy a given temporal relation.
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation sr, const te::dt::DateTime &dt, te::dt::TemporalRelation tr=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
virtual std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const ObservationDataSetInfo &info)=0
It returns the temporal extent of the data set with observations.
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation tr, const te::gm::Envelope &e, te::gm::SpatialRelation sr=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::gm::Envelope &e, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns patches of a trajectory whose geometries satisfy a given spatial relation.
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns patches of a trajectory whose geometries satisfy a given spatial relation.
virtual std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const TrajectoryDataSetInfo &info)=0
It returns the temporal extent of the data set with observations of a trajectory.
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of a trajectory.
virtual ~STDataLoaderImpl()
It returns the spatial extent of the observations of a coverage series.
virtual te::gm::Envelope getSpatialExtent(const TrajectoryDataSetInfo &info)=0
It returns the spatial extent of the observations of a trajectory.
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation sr, const te::dt::DateTime &dt, te::dt::TemporalRelation tr, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
virtual void getInfo(const TrajectoryDataSetInfo &input, std::vector< TrajectoryDataSetInfo > &output)=0
It returns the information about all trajectories that exist in a single DataSet.
STDataLoaderImpl()
Empty constructor.
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation r=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of trajectories whose times satisfy a given temporal relation...
virtual te::gm::Envelope getSpatialExtent(const ObservationDataSetInfo &info)=0
It returns the temporal extent of the data set with observations of a coverage series.
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation sr, const te::dt::DateTime &dt, te::dt::TemporalRelation tr, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns patches of a trajectory whose geometries satisfy a given spatial relation and times satisf...
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation r=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of time series whose times satisfy a given temporal relation.
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of time series.
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, const te::gm::Envelope &e, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation tr, const te::gm::Envelope &e, te::gm::SpatialRelation sr=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
virtual std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::dt::DateTime &dt, te::dt::TemporalRelation tr, const te::gm::Envelope &e, te::gm::SpatialRelation sr=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns patches of a trajectory whose envelope satisfy a given spatial relation and times satisfy ...
virtual void getInfo(const TimeSeriesDataSetInfo &input, std::vector< TimeSeriesDataSetInfo > &output)=0
It returns the information about all time series that exist in a single DataSet.
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations whose observed geometries satisfy a given spatial relation.
virtual std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
virtual std::unique_ptr< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::gm::Envelope &e, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations whose observed geometries satisfy a given spatial relation.
A class that contains infos about a DataSet that contains observations of one or more time series.
A class that contains infos about a DataSet that contains observations of one or more trajectories.
TraverseType
A dataset can be traversed in two ways:
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
SpatialRelation
Spatial relations between geometric objects.
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.