Loading...
Searching...
No Matches
RasterDataSet.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 terralib/terralib4/RasterDataSet.h
22
23 \brief ????
24*/
25
26#ifndef __TERRALIB_TERRALIB4_INTERNAL_RASTERDATASET_H
27#define __TERRALIB_TERRALIB4_INTERNAL_RASTERDATASET_H
28
29// TerraLib
30#include "../dataaccess/dataset/DataSet.h"
31#include "Config.h"
32
33// Terralib 4.x
34#include <terralib4/kernel/TeQuerier.h>
35
36// STL
37#include <memory>
38#include <vector>
39
40class TeLayer;
41
42namespace terralib4
43{
44
45 class Raster;
46
47 /*!
48 \class VectorDataSet
49
50 \brief Implementation of a dataset for the TerraLib 4 driver.
51
52 \sa te::da::DataSet
53 */
55 {
56 public:
57
58 RasterDataSet(TeRaster* raster);
59
61
63
65
66 std::size_t getNumProperties() const;
67
68 int getPropertyDataType(std::size_t i) const;
69
70 std::string getPropertyName(std::size_t i) const;
71
72 std::string getDatasetNameOfProperty(std::size_t i) const;
73
74 bool isEmpty() const;
75
76 bool isConnected() const;
77
78 std::size_t size() const;
79
80 std::unique_ptr<te::gm::Envelope> getExtent(std::size_t i);
81
82 bool moveNext();
83
85
87
88 bool moveFirst();
89
90 bool moveLast();
91
92 bool move(std::size_t i);
93
94 bool isAtBegin() const;
95
96 bool isBeforeBegin() const;
97
98 bool isAtEnd() const;
99
100 bool isAfterEnd() const;
101
102 bool isPositionValid() const;
103
104 char getChar(std::size_t i) const;
105
106 unsigned char getUChar(std::size_t i) const;
107
108 boost::int16_t getInt16(std::size_t i) const;
109
110 boost::int32_t getInt32(std::size_t i) const;
111
112 boost::int64_t getInt64(std::size_t i) const;
113
114 bool getBool(std::size_t i) const;
115
116 float getFloat(std::size_t i) const;
117
118 double getDouble(std::size_t i) const;
119
120 std::string getNumeric(std::size_t i) const;
121
122 std::string getString(std::size_t i) const;
123
124 std::unique_ptr<te::dt::ByteArray> getByteArray(std::size_t i) const;
125
126 std::unique_ptr<te::gm::Geometry> getGeometry(std::size_t i) const;
127
128 std::unique_ptr<te::rst::Raster> getRaster(std::size_t i) const;
129
130 std::unique_ptr<te::dt::DateTime> getDateTime(std::size_t i) const;
131
132 std::unique_ptr<te::dt::Array> getArray(std::size_t i) const;
133
134 bool isNull(std::size_t i) const;
135
136 protected:
137
138 TeRaster* m_raster;
139 int m_i;
140 };
141
142} // end namespace te
143
144
145#endif // __TERRALIB_TERRALIB4_INTERNAL_RASTERDATASET_H
146
147
148
A dataset is the unit of information manipulated by the data access module of TerraLib.
Definition: DataSet.h:114
std::unique_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
int getPropertyDataType(std::size_t i) const
It returns the underlying data type of the property at position pos.
bool moveFirst()
It moves the internal pointer to the first item in the collection.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
std::unique_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
std::unique_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
std::string getPropertyName(std::size_t i) const
It returns the property name at position pos.
bool moveNext()
It moves the internal pointer to the next item of the collection.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
std::unique_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
RasterDataSet(TeRaster *raster)
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
std::unique_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
std::unique_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
bool isEmpty() const
It returns true if the collection is empty.
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.
bool isPositionValid() const
It tells if the dataset internal pointer is on a valid position.
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
std::string getDatasetNameOfProperty(std::size_t i) const
It returns the underlying dataset name of the property at position pos.
std::size_t size() const
It returns the collection size, if it is known.
TraverseType
A dataset can be traversed in two ways:
Definition: Enums.h:54
AccessPolicy
Supported data access policies (can be used as bitfield).
Definition: Enums.h:41
Definition: Band.h:35
#define TETERRALIB4EXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:123
Proxy configuration file for TerraView (see terraview_config.h).