Loading...
Searching...
No Matches
STDataLoaderFromDS.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18*/
19
20/*!
21 \file STDataLoaderFromDS.h
22
23 \brief This file contains a class responsible for loading spatiotemporal data
24 from a DataSource using query capabilities.
25*/
26
27#ifndef __TERRALIB_ST_INTERNAL_STDATALOADERFROMDS_H
28#define __TERRALIB_ST_INTERNAL_STDATALOADERFROMDS_H
29
30//ST
31#include "../Config.h"
32#include "STDataLoaderImpl.h"
33
34namespace te { namespace da { class DataSet; class DataSourceInfo; } }
35
36namespace te
37{
38 namespace st
39 {
40 /*!
41 \class STDataLoaderFromDS
42
43 \brief A class responsible for loading spatiotemporal data
44 from a DataSource using query capabilities.
45 */
47 {
48 public:
49
51
52 /*! \name Inhered methods*/
53 //@{
54
55 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info,
57
58 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info, const te::gm::Envelope& e,
61
62 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info, const te::gm::Geometry& geom,
65
66 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info,
69
70 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info,
71 const te::dt::DateTime& dt,
73 const te::gm::Envelope& e,
76
77 std::unique_ptr<ObservationDataSet> getDataSet(const ObservationDataSetInfo& info,
81
82 void getInfo( const TrajectoryDataSetInfo& input, std::vector<TrajectoryDataSetInfo>& output);
83
84 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
86
87 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
90
91 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
94
95 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
98
99 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
100 const te::dt::DateTime& dt,
102 const te::gm::Envelope& e,
105
106 std::unique_ptr<TrajectoryDataSet> getDataSet(const TrajectoryDataSetInfo& info,
110
111 void getInfo( const TimeSeriesDataSetInfo& input, std::vector<TimeSeriesDataSetInfo>& output);
112
113 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info,
115
116 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info,
119
120 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info, const te::gm::Envelope& e,
123
124 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info, const te::gm::Geometry& geom,
127
128 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info,
129 const te::dt::DateTime& dt,
131 const te::gm::Envelope& e,
134
135 std::unique_ptr<TimeSeriesDataSet> getDataSet(const TimeSeriesDataSetInfo& info,
139
140 std::unique_ptr<te::dt::DateTimePeriod> getTemporalExtent(const ObservationDataSetInfo& info);
141
142 std::unique_ptr<te::dt::DateTimePeriod> getTemporalExtent(const TrajectoryDataSetInfo& info);
143
144 std::unique_ptr<te::dt::DateTimePeriod> getTemporalExtent(const TimeSeriesDataSetInfo& info);
145
147
149 //@}
150
151 protected:
152
153 /*! \brief It builds an ObservationDataSet from a given DataSet */
154 std::unique_ptr<ObservationDataSet> buildDataSet(te::da::DataSet* ds, const ObservationDataSetInfo& info);
155
156 /*! \brief It builds an TrajectoryDataSet from a given DataSet */
157 std::unique_ptr<TrajectoryDataSet> buildDataSet(te::da::DataSet* ds, const TrajectoryDataSetInfo& info);
158
159 /*! \brief It builds an TimeSeriesDataSet from a given DataSet */
160 std::unique_ptr<TimeSeriesDataSet> buildDataSet(te::da::DataSet* ds, const TimeSeriesDataSetInfo& info);
161
163 };
164 } // end namespace st
165} // end namespace te
166
167#endif // __TERRALIB_ST_INTERNAL_STDATALOADERFROMDS_H
168
169
170
This file contains an abstract class responsible for loading spatiotemporal data from data sources.
A dataset is the unit of information manipulated by the data access module of TerraLib.
Definition: DataSet.h:114
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:52
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Definition: Geometry.h:78
A class that contains infos about a DataSet that contains observations.
A class responsible for loading spatiotemporal data from a DataSource using query capabilities.
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)
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
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)
It returns a data set with observations of trajectories whose times satisfy a given temporal relation...
std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const TrajectoryDataSetInfo &info)
It returns the temporal extent of the data set with observations of a trajectory.
void getInfo(const TimeSeriesDataSetInfo &input, std::vector< TimeSeriesDataSetInfo > &output)
It returns the information about all time series that exist in a single DataSet.
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)
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
std::unique_ptr< TimeSeriesDataSet > getDataSet(const TimeSeriesDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns a data set with observations of time series.
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)
It returns patches of a trajectory whose envelope satisfy a given spatial relation and times satisfy ...
te::gm::Envelope getSpatialExtent(const TrajectoryDataSetInfo &info)
It returns the spatial extent of the observations of a trajectory.
std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns patches of a trajectory whose geometries satisfy a given spatial relation.
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)
It returns a data set with observations of time series whose times satisfy a given temporal relation.
std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const TimeSeriesDataSetInfo &info)
It returns the temporal extent of the data set with observations of a time series.
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)
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
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)
It returns a data set with observations whose phenomenon times satisfy a given temporal relation.
std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns a data set with observations of a trajectory.
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)
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
te::gm::Envelope getSpatialExtent(const ObservationDataSetInfo &info)
It returns the temporal extent of the data set with observations of a coverage series.
std::unique_ptr< TrajectoryDataSet > buildDataSet(te::da::DataSet *ds, const TrajectoryDataSetInfo &info)
It builds an TrajectoryDataSet from a given DataSet.
std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const ObservationDataSetInfo &info)
It returns the temporal extent of the data set with observations.
std::unique_ptr< TimeSeriesDataSet > buildDataSet(te::da::DataSet *ds, const TimeSeriesDataSetInfo &info)
It builds an TimeSeriesDataSet from a given DataSet.
std::unique_ptr< ObservationDataSet > buildDataSet(te::da::DataSet *ds, const ObservationDataSetInfo &info)
It builds an ObservationDataSet from a given DataSet.
void getInfo(const TrajectoryDataSetInfo &input, std::vector< TrajectoryDataSetInfo > &output)
It returns the information about all trajectories that exist in a single DataSet.
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)
It returns data set with observations of time series whose geometries satisfy a given spatial relatio...
std::unique_ptr< TrajectoryDataSet > getDataSet(const TrajectoryDataSetInfo &info, const te::gm::Envelope &e, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns patches of a trajectory whose geometries satisfy a given spatial relation.
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)
It returns patches of a trajectory whose geometries satisfy a given spatial relation and times satisf...
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)
It returns a data set with observations whose observed geometries satisfy a given spatial relation.
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< ObservationDataSet > getDataSet(const ObservationDataSetInfo &info, const te::gm::Geometry &geom, te::gm::SpatialRelation r=te::gm::INTERSECTS, te::common::TraverseType travType=te::common::FORWARDONLY)
It returns a data set with observations whose observed geometries satisfy a given spatial relation.
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)
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
An abstract class responsible for loading spatiotemporal data from data sources.
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:
Definition: Enums.h:54
@ FORWARDONLY
Definition: Enums.h:55
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
Definition: Enums.h:141
@ DURING
Definition: Enums.h:145
SpatialRelation
Spatial relations between geometric objects.
Definition: Enums.h:128
@ INTERSECTS
Definition: Enums.h:130
TerraLib.
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:88