Go to the documentation of this file.
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;
694 #endif // __TERRALIB_ST_INTERNAL_STDATALOADERIMPL_H
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< 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...
An Envelope defines a 2D rectangular region.
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::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, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of a trajectory.
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, te::common::TraverseType travType=te::common::FORWARDONLY)=0
It returns a data set with observations of time series.
TraverseType
A dataset can be traversed in two ways:
virtual std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const ObservationDataSetInfo &info)=0
It returns the temporal extent of the data set with observations.
virtual void getInfo(const TrajectoryDataSetInfo &input, std::vector< TrajectoryDataSetInfo > &output)=0
It returns the information about all trajectories that exist in a single DataSet.
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...
STDataLoaderImpl()
Empty constructor.
A class that contains infos about a DataSet that contains observations of one or more trajectories.
SpatialRelation
Spatial relations between geometric objects.
A class that contains infos about a DataSet that contains observations.
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 ~STDataLoaderImpl()
It returns the spatial extent of the observations of a coverage 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...
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.
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 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 TrajectoryDataSetInfo &info)=0
It returns the temporal extent of the data set with observations of a trajectory.
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::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< 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 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.
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< 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...
A class that contains infos about a DataSet that contains observations of one or more time series.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
An abstract class responsible for loading spatiotemporal data from data sources.
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 te::gm::Envelope getSpatialExtent(const ObservationDataSetInfo &info)=0
It returns the temporal extent of the data set with observations of a coverage series.
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
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 void getInfo(const TimeSeriesDataSetInfo &input, std::vector< TimeSeriesDataSetInfo > &output)=0
It returns the information about all time series that exist in a single DataSet.