All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CoverageDataSetInfo.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 CoverageDataSetInfo.h
22 
23  \brief This file contains an abstract class called CoverageDataSetInfo
24 */
25 
26 #ifndef __TERRALIB_ST_INTERNAL_COVERAGEDATASETINFO_H
27 #define __TERRALIB_ST_INTERNAL_COVERAGEDATASETINFO_H
28 
29 //ST
30 #include "../../Config.h"
31 #include "../../Enums.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  //Forward declarations
43  class ObservationDataSetInfo;
44 
45  /*!
46  \class CoverageDataSetInfo
47 
48  \brief An abstract class that contains infos about a DataSource and DataSet
49  that contains observations of a coverage.
50 
51  This class contains information about a DataSource and DataSet that
52  contains observations of a coverage.
53  This information includes:
54  (1) the DataSource which it is from
55  (2) the DataSet name
56  (3) the DataSet properties that contains the phenomenon time,
57  the result time.
58 
59  \sa ObservationDataSetInfo
60  */
62  {
63  public:
64 
65  /*!
66  \brief Constructor
67  */
69 
70  /*!
71  \brief It returns the type of the coverage
72 
73  \return the type of the coverage.
74  */
75  virtual te::st::CoverageType getCoverageType() const = 0;
76 
77  /*!
78  \brief It returns information about the DataSet that contains the coverage observations
79 
80  \return A reference to the internal ObservationDataSetInfo.
81  */
82  virtual const ObservationDataSetInfo& getObservationDataSetInfo() const = 0;
83 
84  /*!
85  \brief It returns information about the DataSource from which the DataSet comes.
86 
87  \return A reference to the internal DataSourceInfo.
88  */
89  virtual const te::da::DataSourceInfo& getDataSourceInfo() const = 0;
90 
91  /*!
92  \brief It returns the indexes of the DataSet properties that contains the times associated to the coverage.
93 
94  \return The indexes of the DataSet properties that contains the time.
95  */
96  virtual const std::vector<int>& getTimePropIdxs() const = 0;
97 
98  /*! \brief Virtual destructor. */
99  virtual ~CoverageDataSetInfo();
100  };
101  } // end namespace st
102 } // end namespace te
103 
104 #endif // __TERRALIB_ST_INTERNAL_COVERAGEDATASETINFO_H
105 
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:90
A class that contains infos about a DataSet that contains observations.
CoverageType
An enum for the types of coverage.
Definition: Enums.h:43
An abstract class that contains infos about a DataSource and DataSet that contains observations of a ...
A class that represents a data source component.