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 <terralib/kernel/TeAttribute.h>
49 #include <terralib/kernel/TeDatabase.h>
50 #include <terralib/kernel/TeLayer.h>
52 #include <terralib/kernel/TeQuerierParams.h>
59 #include <boost/dynamic_bitset.hpp>
60 #include <boost/lexical_cast.hpp>
72 TeQuerierParams params(
true,
true);
83 for(
int i = 0; i !=
m_nCols; ++i)
90 if((
m_layer->hasGeometry(TePOLYGONS) ||
91 m_layer->hasGeometry(TeLINES) ||
92 m_layer->hasGeometry(TePOINTS) ||
93 m_layer->hasGeometry(TeNODES) ||
135 return m_dt->getProperty(i)->getType();
152 return !(size() > 0);
167 return m_querier->fetchInstance(m_instance);
228 int ii =
static_cast<int>(i);
229 m_instance.getPropertyValue(val, ii);
231 return boost::lexical_cast<boost::int16_t>(val);
237 int ii =
static_cast<int>(i);
238 m_instance.getPropertyValue(val, ii);
240 return boost::lexical_cast<boost::int32_t>(val);
246 int ii =
static_cast<int>(i);
247 m_instance.getPropertyValue(val, ii);
249 return boost::lexical_cast<boost::int64_t>(val);
255 int ii =
static_cast<int>(i);
256 m_instance.getPropertyValue(val, ii);
258 return boost::lexical_cast<
bool>(val);
269 int ii =
static_cast<int>(i);
270 m_instance.getPropertyValue(val, ii);
272 return boost::lexical_cast<
double>(val);
278 int ii =
static_cast<int>(i);
280 m_instance.getPropertyValue(val, ii);
288 int ii =
static_cast<int>(i);
290 m_instance.getPropertyValue(val, ii);
307 assert(i == m_geomCol);
309 std::vector<TeGeometry*> geoms;
310 m_instance.getGeometry(geoms);
314 t5g->setSRID(m_layer->projection()->epsgCode());
333 return std::auto_ptr<te::dt::Array>(0);
346 int ii =
static_cast<int>(i);
348 m_instance.getPropertyValue(val, ii);
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not...
int getPropertyDataType(std::size_t i) const
It returns the underlying data type of the property at position pos.
std::auto_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.
bool moveNext()
It moves the internal pointer to the next item of the collection.
std::auto_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
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.
An utility class for converting a TerraLib 4.x geometry to a TerraLib 5.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
void add(Constraint *c)
It adds a new constraint.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
AccessPolicy
Supported data access policies (can be used as bitfield).
std::auto_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
std::size_t size() const
It returns the collection size, if it is known.
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
Utilitary functions for dealing with TerraLib 5 and 4.x conversion.
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
bool moveFirst()
It moves the internal pointer to the first item in the collection.
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
static std::auto_ptr< te::gm::Geometry > getGeometry(const TeGeometry &geom)
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
std::string getPropertyName(std::size_t i) const
It returns the property name at position pos.
Implements the DataSource class for the TerraLib 4.x Data Access Driver.
TraverseType
A dataset can be traversed in two ways:
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
std::auto_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
A class that models the description of a dataset.
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 isEmpty() const
It returns true if the collection is empty.
std::auto_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
double getDouble(const std::string &value, std::vector< std::string > &sVector)
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
te::da::DataSetType * m_dt
std::auto_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
std::string getDatasetNameOfProperty(std::size_t i) const
It returns the underlying dataset name of the property at position pos.
VectorDataSet(TeLayer *layer)
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.