26#ifndef __TERRALIB_MEMORY_INTERNAL_EXPANSIBLERASTER_H
27#define __TERRALIB_MEMORY_INTERNAL_EXPANSIBLERASTER_H
39#include <boost/shared_ptr.hpp>
76 const std::vector<te::rst::BandProperty*> bandsProperties );
88 const std::vector<te::rst::BandProperty*> bandsProperties,
89 const unsigned int maxNumberOfRAMBlocks );
95 std::map<std::string, std::string>
getInfo()
const;
105 return m_bands[ i ]->getProperty()->m_type;
233 void dummyFillBlocks(
const std::vector<ExpansibleBandBlocksManager::BlockIndex3D>& blocksCoords );
It describes one band (or dimension) of a raster.
RAM cached and tiled raster band blocks manager.
A base class for values that can be retrieved from the data access module.
ExpansibleRaster(const unsigned char maxMemPercentUsed, te::rst::Grid *grid, const std::vector< te::rst::BandProperty * > bandsProperties)
Constructor.
bool createMultiResolution(const unsigned int levels, const te::rst::InterpolationMethod interpMethod)
Create a sub-sampled multi-resolution pyramid.
bool addLeftColumns(const unsigned int number)
New columns will be added at the left of the raster (before the first column).
bool removeMultiResolution()
Remove/Destroy a sub-sampled multi-resolution pyramid, if there is one.
te::rst::Raster * getMultiResLevel(const unsigned int level) const
Returns the required level of a multi-resolution pyramid or NULL if that level does not exists.
unsigned int getMultiResLevelsCount() const
Returns the current number of multi-resolution pyramid levels.
ExpansibleRaster(te::rst::Grid *grid, te::common::AccessPolicy p=te::common::RAccess)
void dummyFillAllBlocks()
Fill all blocks with dummy values.
te::rst::Band & operator[](std::size_t i)
Access band in i position.
std::map< std::string, std::string > m_rasterInfo
This instance info.
ExpansibleRaster(ExpansibleRaster &rhs)
Constructor from other expansible raster instance.
bool addTopLines(const unsigned int number)
New lines will be added at the top of the raster (before the first line).
int getBandDataType(std::size_t i) const
Returns the data type in a particular band (or dimension).
void dummyFillBlocks(const std::vector< ExpansibleBandBlocksManager::BlockIndex3D > &blocksCoords)
Fill the required blocks with dummy values.
te::dt::AbstractData * clone() const
It returns a clone of this object.
std::size_t getNumberOfBands() const
Returns the number of bands (dimension of cells attribute values) in the raster.
void open(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
Opens a raster.
bool addTopBands(const unsigned int number)
New bands will be added at the top of the raster (before the first band).
void updateRasterInfo()
update This instance raster info.
bool addRightColumns(const unsigned int number)
New columns will be added at the right of the raster (after the last column).
boost::shared_ptr< ExpansibleBandBlocksManager > m_blocksManagerPtr
Internal blocks manager.
ExpansibleRaster(const te::rst::Raster &rhs)
Constructor from other expansible raster instance.
bool addBottomLines(const unsigned int number)
New lines will be added at the bottom of the raster (after de the last line).
std::map< std::string, std::string > getInfo() const
It returns additional information about the raster.
const te::rst::Band * getBand(std::size_t i) const
Returns the raster i-th band.
te::rst::Band * getBand(std::size_t i)
Returns the raster i-th band.
const te::rst::Band & operator[](std::size_t i) const
Access band in i position.
ExpansibleRaster(te::rst::Grid *grid, const std::vector< te::rst::BandProperty * > bandsProperties, const unsigned int maxNumberOfRAMBlocks)
Constructor.
std::vector< ExpansibleBand * > m_bands
Internal raster bands.
void free()
Free all allocated internal resources and go back to the initial state.
bool addBottomBands(const unsigned int number)
New bands will be added at the bottom of the raster (after de the last band).
std::vector< boost::shared_ptr< ExpansibleRaster > > m_multiResRasters
Pointer to Multi-resolution versions of this raster instance.
A raster band description.
A rectified grid is the spatial support for raster data.
An abstract class for raster data strucutures.
AccessPolicy
Supported data access policies (can be used as bitfield).
Namespace for the memory data source of TerraLib.
InterpolationMethod
Allowed interpolation methods.
A rectified grid is the spatial support for raster data.
An abstract class for raster data strucutures.
Configuration flags for the TerraLib In-memory Data Access driver.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.