26 #ifndef __TERRALIB_MEMORY_INTERNAL_DATASET_H 27 #define __TERRALIB_MEMORY_INTERNAL_DATASET_H 30 #include "../dataaccess/dataset/DataSet.h" 38 #include <boost/ptr_container/ptr_vector.hpp> 39 #include <boost/shared_ptr.hpp> 104 explicit DataSet(
const DataSet& rhs,
const bool deepCopy =
false);
166 void copy(
te::da::DataSet& src,
const std::vector<std::size_t>& properties, std::size_t limit = 0);
203 void add(
const std::string& propertyName, std::size_t propertyType,
const te::dt::AbstractData* defaultValue = 0);
214 void drop(std::size_t pos);
236 std::size_t getNumProperties()
const;
238 int getPropertyDataType(std::size_t pos)
const;
240 void setPropertyDataType(
int dt, std::size_t pos);
242 std::string getPropertyName(std::size_t pos)
const;
244 void setPropertyName(
const std::string& name, std::size_t pos);
246 std::string getDatasetNameOfProperty(std::size_t pos)
const;
250 bool isEmpty()
const;
252 bool isConnected()
const;
254 std::size_t size()
const;
256 std::unique_ptr<te::gm::Envelope> getExtent(std::size_t i);
262 bool moveBeforeFirst();
268 bool move(std::size_t i);
270 bool isAtBegin()
const;
272 bool isBeforeBegin()
const;
274 bool isAtEnd()
const;
276 bool isAfterEnd()
const;
278 bool isPositionValid()
const;
280 char getChar(std::size_t i)
const;
282 unsigned char getUChar(std::size_t i)
const;
284 boost::int16_t getInt16(std::size_t i)
const;
286 boost::int32_t getInt32(std::size_t i)
const;
288 boost::int64_t getInt64(std::size_t i)
const;
290 bool getBool(std::size_t i)
const;
292 float getFloat(std::size_t i)
const;
296 std::string getNumeric(std::size_t i)
const;
298 std::string getString(std::size_t i)
const;
300 std::unique_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
302 std::unique_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
304 std::unique_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
306 std::unique_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
308 std::unique_ptr<te::dt::Array> getArray(std::size_t i)
const;
310 std::unique_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
312 bool isNull(std::size_t i)
const;
320 void setChar(std::size_t i,
char value);
322 void setChar(
const std::string& name,
char value);
324 void setUChar(std::size_t i,
unsigned char value);
326 void setUChar(
const std::string& name,
unsigned char value);
328 void setInt16(std::size_t i, boost::int16_t value);
330 void setInt16(
const std::string& name, boost::int16_t value);
332 void setInt32(std::size_t i, boost::int32_t value);
334 void setInt32(
const std::string& name, boost::int32_t value);
336 void setInt64(std::size_t i, boost::int64_t value);
338 void setInt64(
const std::string& name, boost::int64_t value);
340 void setBool(std::size_t i,
bool value);
342 void setBool(
const std::string& name,
bool value);
344 void setFloat(std::size_t i,
float value);
346 void setFloat(
const std::string& name,
float value);
348 void setDouble(std::size_t i,
double value);
350 void setDouble(
const std::string& name,
double value);
352 void setNumeric(std::size_t i,
const std::string& value);
354 void setNumeric(
const std::string& name,
const std::string& value);
356 void setString(std::size_t i,
const std::string& value);
358 void setString(
const std::string& name,
const std::string& value);
384 boost::shared_ptr<boost::ptr_vector<DataSetItem> >
m_items;
395 #endif // __TERRALIB_MEMORY_INTERNAL_DATASET_H boost::shared_ptr< boost::ptr_vector< DataSetItem > > m_items
The list of dataset items.
A class that models the description of a dataset.
It models a property definition.
std::vector< int > m_ptypes
The list of property types.
Configuration flags for the TerraLib In-memory Data Access driver.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
An abstract class for raster data strucutures.
static te::dt::TimeDuration dt(20, 30, 50, 11)
std::vector< std::string > m_pnames
The list of property names.
A base class for values that can be retrieved from the data access module.
line< nLines;++line) for(col=0;col< nCols;++col){rasterPointer-> setValue(col, line, pixelValue, band)
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
An implementation of the DatasetItem class for the TerraLib In-Memory Data Access driver...
A dataset is the unit of information manipulated by the data access module of TerraLib.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
int m_i
The index of the current item.
boost::shared_ptr< DataSet > DataSetPtr
A class for representing binary data.