26 #ifndef __TERRALIB_POSTGIS_INTERNAL_DATASET_H
27 #define __TERRALIB_POSTGIS_INTERNAL_DATASET_H
30 #include "../dataaccess/dataset/DataSet.h"
48 class GeometryProperty;
73 const std::vector<int>& ptypes,
74 bool timeIsInteger =
true);
83 std::size_t getNumProperties()
const;
85 int getPropertyDataType(std::size_t i)
const;
87 std::string getPropertyName(std::size_t i)
const;
89 std::string getDatasetNameOfProperty(std::size_t i)
const;
93 bool isConnected()
const;
95 std::size_t size()
const;
97 std::auto_ptr<te::gm::Envelope> getExtent(std::size_t i);
103 bool moveBeforeFirst();
109 bool move(std::size_t i);
111 bool isAtBegin()
const;
113 bool isBeforeBegin()
const;
115 bool isAtEnd()
const;
117 bool isAfterEnd()
const;
119 char getChar(std::size_t i)
const;
121 unsigned char getUChar(std::size_t i)
const;
123 boost::int16_t getInt16(std::size_t i)
const;
125 boost::int32_t getInt32(std::size_t i)
const;
127 boost::int64_t getInt64(std::size_t i)
const;
129 bool getBool(std::size_t i)
const;
131 float getFloat(std::size_t i)
const;
133 double getDouble(std::size_t i)
const;
135 std::string getNumeric(std::size_t i)
const;
137 std::string getString(std::size_t i)
const;
139 std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
141 std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
143 std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
145 std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
147 std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const;
149 bool isNull(std::size_t i)
const;
179 #endif // __TERRALIB_POSTGIS_INTERNAL_DATASET_H
bool m_timeIsInteger
It indicates if the postgis stores, internally, the time and timestamp as an integer.
int m_size
The number of datasets in the collection.
struct pg_result PGresult
PGresult * getPGResult() const
It returns the internal pg result.
std::vector< int > m_ptypes
The list of property types.
#define TEPGISEXPORT
You can use this macro in order to export/import classes and functions from this module.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
An Envelope defines a 2D rectangular region.
Implementation of a dataset for the PostGIS driver.
Configuration flags for the PostGIS Driver Implementation of TerraLib.
PGresult * m_result
The internal buffer with the result query.
A dataset is the unit of information manipulated by the data access module of TerraLib.
int m_i
The index of the current row.
te::gm::Envelope * m_mbr
The dataset extent.