27 #include "../common/ByteSwapUtils.h"
28 #include "../common/Globals.h"
29 #include "../common/StringUtils.h"
30 #include "../common/Translator.h"
31 #include "../dataaccess/dataset/DataSetType.h"
32 #include "../datatype/Array.h"
33 #include "../datatype/ByteArray.h"
34 #include "../datatype/DateTimeProperty.h"
35 #include "../datatype/SimpleData.h"
36 #include "../datatype/TimeInstant.h"
37 #include "../geometry/Envelope.h"
38 #include "../geometry/Geometry.h"
39 #include "../geometry/GeometryProperty.h"
40 #include "../geometry/WKBReader.h"
48 #include <terralib4/kernel/TeAttribute.h>
49 #include <terralib4/kernel/TeDatabase.h>
50 #include <terralib4/kernel/TeLayer.h>
52 #include <terralib4/kernel/TeQuerierParams.h>
59 #include <boost/dynamic_bitset.hpp>
60 #include <boost/lexical_cast.hpp>
72 TeQuerierParams params(
true,
true);
85 for(
int i = 0; i !=
m_nCols; ++i)
92 if((
m_layer->hasGeometry(TePOLYGONS) ||
93 m_layer->hasGeometry(TeLINES) ||
94 m_layer->hasGeometry(TePOINTS) ||
95 m_layer->hasGeometry(TeNODES) ||
137 return m_dt->getProperty(i)->getType();
159 return !(size() > 0);
174 return m_querier->fetchInstance(m_instance);
235 int ii =
static_cast<int>(i);
236 m_instance.getPropertyValue(val, ii);
238 return boost::lexical_cast<boost::int16_t>(val);
244 int ii =
static_cast<int>(i);
245 m_instance.getPropertyValue(val, ii);
247 return boost::lexical_cast<boost::int32_t>(val);
253 int ii =
static_cast<int>(i);
254 m_instance.getPropertyValue(val, ii);
256 return boost::lexical_cast<boost::int64_t>(val);
262 int ii =
static_cast<int>(i);
263 m_instance.getPropertyValue(val, ii);
265 return boost::lexical_cast<
bool>(val);
276 int ii =
static_cast<int>(i);
277 m_instance.getPropertyValue(val, ii);
281 return boost::lexical_cast<
double>(val);
287 int ii =
static_cast<int>(i);
289 m_instance.getPropertyValue(val, ii);
299 int ii =
static_cast<int>(i);
301 m_instance.getPropertyValue(val, ii);
318 assert(i == m_geomCol);
320 std::vector<TeGeometry*> geoms;
321 m_instance.getGeometry(geoms);
325 int srid = m_layer->projection()->epsgCode();
348 return std::auto_ptr<te::dt::Array>(0);
361 int ii =
static_cast<int>(i);
363 m_instance.getPropertyValue(val, ii);
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.
std::size_t size() const
It returns the collection size, if it is known.
VectorDataSet(TeLayer *layer)
CharEncoding
Supported charsets (character encoding).
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
A class that models the description of a dataset.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
static std::auto_ptr< te::gm::Geometry > getGeometry(const TeGeometry &geom)
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
Implements the DataSource class for the TerraLib 4.x Data Access Driver.
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
int getPropertyDataType(std::size_t i) const
It returns the underlying data type of the property at position pos.
std::auto_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
std::auto_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
std::auto_ptr< te::dt::Property > Convert2T5(const TeAttributeRep &attRep)
It creates a valid TerraLib 5 property given a valid TerraLib 4.x attribute representation.
std::string getPropertyName(std::size_t i) const
It returns the property name at position pos.
std::auto_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.
te::common::CharEncoding getPropertyCharEncoding(std::size_t i) const
It returns the property character encoding at position pos.
std::auto_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
std::auto_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
void CheckDecimalSeparator(std::string &value)
std::string getDatasetNameOfProperty(std::size_t i) const
It returns the underlying dataset name of the property at position pos.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
void add(Constraint *c)
It adds a new constraint.
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
std::auto_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
bool moveFirst()
It moves the internal pointer to the first item in the collection.
bool isEmpty() const
It returns true if the collection is empty.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not...
An utility class for converting a TerraLib 4.x geometry to a TerraLib 5.
bool moveNext()
It moves the internal pointer to the next item of the collection.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
Utilitary functions for dealing with TerraLib 5 and 4.x conversion.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
te::da::DataSetType * m_dt