27 #include "../../common/Translator.h"
28 #include "../../datatype/Array.h"
29 #include "../../datatype/ByteArray.h"
30 #include "../../datatype/DataConverterManager.h"
31 #include "../../datatype/DateTime.h"
32 #include "../../datatype/Enums.h"
33 #include "../../datatype/Property.h"
34 #include "../../datatype/SimpleData.h"
35 #include "../../geometry/Geometry.h"
36 #include "../../geometry/GeometryProperty.h"
37 #include "../../geometry/Envelope.h"
38 #include "../../raster/Raster.h"
39 #include "../datasource/DataSourceCapabilities.h"
40 #include "../utils/Utils.h"
41 #include "../Exception.h"
50 : m_ds(dataset, isOwner)
62 return m_ds->getTraverseType();
67 return m_ds->getAccessPolicy();
72 return m_ds->getExtent(i);
77 return m_pnames.size();
82 return m_datatypes[pos];
97 return m_ds->isEmpty();
102 return m_ds->isConnected();
112 return m_ds->moveNext();
117 return m_ds->movePrevious();
122 return m_ds->moveBeforeFirst();
127 return m_ds->moveFirst();
132 return m_ds->moveLast();
137 return m_ds->move(i);
142 return m_ds->isAtBegin();
147 return m_ds->isBeforeBegin();
152 return m_ds->isAtEnd();
157 return m_ds->isAfterEnd();
162 std::auto_ptr<te::dt::Char> data(static_cast<te::dt::Char*>(getAdaptedValue(i)));
164 return data->getValue();
169 std::auto_ptr<te::dt::UChar> data(static_cast<te::dt::UChar*>(getAdaptedValue(i)));
171 return data->getValue();
176 std::auto_ptr<te::dt::Int16> data(static_cast<te::dt::Int16*>(getAdaptedValue(i)));
178 return data->getValue();
183 std::auto_ptr<te::dt::Int32> data(static_cast<te::dt::Int32*>(getAdaptedValue(i)));
185 return data->getValue();
190 std::auto_ptr<te::dt::Int64> data(static_cast<te::dt::Int64*>(getAdaptedValue(i)));
192 return data->getValue();
197 std::auto_ptr<te::dt::Boolean> data(static_cast<te::dt::Boolean*>(getAdaptedValue(i)));
199 return data->getValue();
204 std::auto_ptr<te::dt::Float> data(static_cast<te::dt::Float*>(getAdaptedValue(i)));
206 return data->getValue();
211 std::auto_ptr<te::dt::Double> data(static_cast<te::dt::Double*>(getAdaptedValue(i)));
213 return data->getValue();
218 std::auto_ptr<te::dt::Numeric> data(static_cast<te::dt::Numeric*>(getAdaptedValue(i)));
220 return data->getValue();
225 std::auto_ptr<te::dt::String> data(static_cast<te::dt::String*>(getAdaptedValue(i)));
226 return data->getValue();
231 return std::auto_ptr<te::dt::ByteArray>(
static_cast<te::dt::ByteArray*
>(getAdaptedValue(i)));
236 return std::auto_ptr<te::gm::Geometry>(
static_cast<te::gm::Geometry*
>(getAdaptedValue(i)));
241 return std::auto_ptr<te::rst::Raster>(
static_cast<te::rst::Raster*
>(getAdaptedValue(i)));
246 return std::auto_ptr<te::dt::DateTime>(
static_cast<te::dt::DateTime*
>(getAdaptedValue(i)));
251 return std::auto_ptr<te::dt::Array>(
static_cast<te::dt::Array*
>(getAdaptedValue(i)));
256 std::auto_ptr<te::dt::AbstractData> data(getAdaptedValue(i));
258 return data.get() == 0;
273 const std::vector<std::size_t>& adaptedPropertyPos,
276 m_datatypes.push_back(newPropertyType);
277 m_pnames.push_back(newPropertyName);
278 m_propertyIndexes.push_back(adaptedPropertyPos);
279 m_converters.push_back(conv);
~DataSetAdapter()
Destructor.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
te::da::DataSet * getAdaptee() const
This method returns the pointer to the DataSet that is handled by adapter.
std::size_t size() const
It returns the collection size, if it is known.
int m_srid
The identifier of the layer spatial reference system.
A class that models the description of a dataset.
bool moveFirst()
It moves the internal pointer to the first item in the collection.
bool moveNext()
It moves the internal pointer to the next item of the collection.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
std::auto_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
virtual void setSRID(int srid)=0
It sets the Spatial Reference System ID of the geometry and all its parts if it is a GeometryCollecti...
virtual int getTypeCode() const =0
It returns the data type code associated to the data value.
std::auto_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
boost::function3< te::dt::AbstractData *, DataSet *, const std::vector< std::size_t > &, int > AttributeConverter
The type of attribute converter functions.
te::dt::AbstractData * getAdaptedValue(std::size_t i) const
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
void add(const std::string &newPropertyName, int newPropertyType, const std::vector< std::size_t > &adaptedPropertyPos, AttributeConverter conv)
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
bool isEmpty() const
It returns true if the collection is empty.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
AccessPolicy
Supported data access policies (can be used as bitfield).
void setSRID(int srid)
It sets the Spatial Reference System ID associated to the DataSet.
std::auto_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
int getPropertyDataType(std::size_t pos) const
It returns the underlying data type of the property at position pos.
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
DataSetAdapter(DataSet *dataset, bool isOwner=false)
Constructor.
std::string getDatasetNameOfProperty(std::size_t pos) const
It returns the underlying dataset name of the property at position pos.
std::auto_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
std::auto_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
TraverseType
A dataset can be traversed in two ways:
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not...
A base class for values that can be retrieved from the data access module.
std::auto_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
An abstract class for raster data strucutures.
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
std::string getPropertyName(std::size_t pos) const
It returns the property name at position pos.
The type for variable-length multidimensional arrays.
A class for representing binary data.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
A dataset is the unit of information manipulated by the data access module of TerraLib.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.