TimeSeriesDataSetInfo.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 TimeSeriesDataSetInfo.h
22 
23  \brief This file contains a class called TimeSeriesDataSetInfo
24 */
25 
26 #ifndef __TERRALIB_ST_INTERNAL_TIMESERIESDATASETINFO_H
27 #define __TERRALIB_ST_INTERNAL_TIMESERIESDATASETINFO_H
28 
29 //ST
30 #include "../../Config.h"
31 #include "../observation/ObservationDataSetInfo.h"
32 
33 //STL
34 #include <vector>
35 
36 namespace te { namespace da { class DataSourceInfo; } }
37 
38 namespace te
39 {
40  namespace st
41  {
42  /*!
43  \class TimeSeriesDataSetInfo
44 
45  \brief A class that contains infos about a DataSet that contains
46  observations of one or more time series.
47 
48  Time series: Geometry, Time -> Value.
49 
50  This class contains information about a DataSet that
51  contains observations of one or more time series.
52  This information includes:
53  (1) the DataSource which it is from and the DataSet name
54  (2) the DataSet properties that contain the time and the observed
55  attribute values (it can be one or more observed attributes) and the
56  identity of each time series.
57 
58  \sa ObservationDataSetInfo
59  */
61  {
62  public:
63 
64  /*!
65  \brief Constructor.
66 
67  \param dsinfo Infos about the DataSource.
68  \param dsName The DataSet name.
69  \param tPropName The property name that contains the times associated to the time series.
70  \param vPropName The property name that contains the attribute values associated to the time series.
71  \param gPropName The property name that contains the geometry associated to the time series.
72  \param idPropName The property name that contains the identification of each time series.
73  \param id The identification of the time series that this DataSet contains.
74  */
75  TimeSeriesDataSetInfo(const te::da::DataSourceInfo& dsinfo, const std::string& dsName,
76  const std::string& tPropName, const std::string& vPropName,
77  const std::string& gPropName, const std::string& idPropName,
78  const std::string& id);
79  /*!
80  \brief Constructor.
81  \param dsinfo Infos about the DataSource.
82  \param dsName The DataSet name.
83  \param tPropName The property name that contains the times associated to the time series.
84  \param vPropName The property name that contains the attribute values associated to the time series.
85  \param gPropName The property name that contains the geometry associated to the time series.
86  \param idPropName The property name that contains the identification of each time series.
87  \param id The identification of the time series that this DataSet contains.
88  */
89  TimeSeriesDataSetInfo(const te::da::DataSourceInfo& dsinfo, const std::string& dsName,
90  const std::string& tPropName, const std::vector<std::string>& vPropNames,
91  const std::string& gPropName, const std::string& idPropName,
92  const std::string& id);
93 
94  /*!
95  \brief Constructor.
96 
97  \param info Infos about the DataSource and DataSet that contains the time series observations
98  \param valPropNames The property names that contains the time series values.
99  */
100  TimeSeriesDataSetInfo(const ObservationDataSetInfo& info, const std::vector<std::string>& valPropNames);
101 
102  /*!
103  \brief It returns information about the DataSet that contains the time series observations
104 
105  \return A reference to the internal ObservationDataSetInfo.
106  */
107  const ObservationDataSetInfo& getObservationDataSetInfo() const;
108 
109  /*!
110  \brief It returns the names of the DataSet properties that contains the values associated to the time series.
111 
112  \return The names of the DataSet properties that contains the observed values.
113  */
114  const std::vector<std::string>& getValuePropNames() const;
115 
116  /*! \brief Virtual destructor. */
117  virtual ~TimeSeriesDataSetInfo();
118 
119  protected:
120 
121  ObservationDataSetInfo m_obsDsInfo; //!< Infos about the DataSource and DataSet that contains the time series observations
122  std::vector<std::string> m_vlPropNames; //!< The names of the properties that contain the time series values.
123  };
124  } // end namespace st
125 } // end namespace te
126 
127 #endif // __TERRALIB_ST_INTERNAL_TIMESERIESDATASETINFO_H
128 
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:88
ObservationDataSetInfo m_obsDsInfo
Infos about the DataSource and DataSet that contains the time series observations.
A class that contains infos about a DataSet that contains observations.
std::vector< std::string > m_vlPropNames
The names of the properties that contain the time series values.
URI C++ Library.
A class that contains infos about a DataSet that contains observations of one or more time series...
A class that represents a data source component.