All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RasterCoverageDataSetInfo.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2009 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 RasterCoverageDataSetInfo.h
22 
23  \brief This file contains a class called RasterCoverageDataSetInfo
24 */
25 
26 #ifndef __TERRALIB_ST_INTERNAL_RASTERCOVERAGEDATASETINFO_H
27 #define __TERRALIB_ST_INTERNAL_RASTERCOVERAGEDATASETINFO_H
28 
29 //ST
30 #include "../../Config.h"
31 #include "../observation/ObservationDataSetInfo.h"
32 #include "CoverageDataSetInfo.h"
33 
34 //Forward declarations
35 namespace te { namespace dt { class DateTime; } }
36 
37 namespace te
38 {
39  namespace st
40  {
41 
42  /*!
43  \class RasterCoverageDataSetInfo
44 
45  \brief A class that contains infos about a DataSource and DataSet
46  that contains observations of a raster coverage.
47 
48  \sa ObservationDataSetInfo
49  */
51  {
52  public:
53 
54  /*!
55  \brief Constructor.
56 
57  \param dsinfo Infos about the DataSource.
58  \param dsName The DataSet name.
59  \param tPropIdx The property index that contains the times associated to the coverage.
60  \param rstPropIdx The property index that contains the raster associated to the coverage.
61  */
62  RasterCoverageDataSetInfo(const te::da::DataSourceInfo& dsinfo, const std::string& dsName,
63  int tPropIdx, int rstPropIdx);
64 
65  /*!
66  \brief Constructor.
67 
68  \param dsinfo Infos about the DataSource.
69  \param dsName The DataSet name.
70  \param rstPropIdx The property index that contains the raster associated to the coverage.
71  \param time The date and time associated to this raster coverage, when this information is not in the DataSet.
72 
73  \note It will take the ownership of the given pointers.
74  */
75  RasterCoverageDataSetInfo(const te::da::DataSourceInfo& dsinfo, const std::string& dsName,
76  int rstPropIdx, te::dt::DateTime* time);
77 
78  /*!
79  \brief Constructor.
80 
81  \param info Infos about the DataSource and DataSet that contains the coverage observations
82  \param rstPropIdx The property index that contains the raster associated to the coverage.
83  */
84  RasterCoverageDataSetInfo(const ObservationDataSetInfo& info, int rstPropIdx);
85 
86  /*!
87  \brief Constructor.
88 
89  \param info Infos about the DataSource and DataSet that contains the coverage observations
90  \param rstPropIdx The property index that contains the raster associated to the coverage.
91  \param time The date and time associated to this raster coverage, when this information is not in the DataSet.
92 
93  \note It will take the ownership of the given pointers.
94  */
95  RasterCoverageDataSetInfo(const ObservationDataSetInfo& info, int rstPropIdx, te::dt::DateTime* time);
96 
97  /*!
98  \brief Copy constructor.
99  */
101 
102  /*!
103  \brief Copy assignment operator
104  */
105  RasterCoverageDataSetInfo& operator=(const RasterCoverageDataSetInfo& other);
106 
107  /*! \name Inhered methods*/
108  //@{
109  te::st::CoverageType getCoverageType() const ;
110 
111  const ObservationDataSetInfo& getObservationDataSetInfo() const;
112 
113  const te::da::DataSourceInfo& getDataSourceInfo() const;
114 
115  const std::vector<int>& getTimePropIdxs() const;
116  //@}
117 
118  /*!
119  \brief It returns the property index that contains the raster of the coverage.
120 
121  \return The property index that contains the raster of the coverage.
122  */
123  int getRasterPropIdx() const;
124 
125  /*!
126  \brief It returns the date and time associated to the raster coverage, when this information is not in the DataSet.
127 
128  \return The date and time associated to the raster coverage.
129  */
130  std::auto_ptr<te::dt::DateTime> getTime() const;
131 
132  /*! \brief Virtual destructor. */
133  virtual ~RasterCoverageDataSetInfo();
134 
135  protected:
136 
137  ObservationDataSetInfo m_obsDsInfo; //!< Infos about the DataSource and DataSet that contains the point coverage observations
138  int m_rstPropIdx; //!< The property index that contains the raster
139  std::auto_ptr<te::dt::DateTime> m_time; //! The date and time associated to this raster coverage, when this information is not in the DataSet
140  };
141  } // end namespace st
142 } // end namespace te
143 
144 #endif // __TERRALIB_ST_INTERNAL_RASTERCOVERAGEDATASETINFO_H
145 
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:90
int m_rstPropIdx
The property index that contains the raster.
A class that contains infos about a DataSet that contains observations.
CoverageType
An enum for the types of coverage.
Definition: Enums.h:43
This file contains an abstract class called CoverageDataSetInfo.
std::auto_ptr< te::dt::DateTime > m_time
ObservationDataSetInfo m_obsDsInfo
Infos about the DataSource and DataSet that contains the point coverage observations.
A class that contains infos about a DataSource and DataSet that contains observations of a raster cov...
An abstract class that contains infos about a DataSource and DataSet that contains observations of a ...
A class that represents a data source component.