26 #ifndef __TERRALIB_GDAL_INTERNAL_RASTER_H
27 #define __TERRALIB_GDAL_INTERNAL_RASTER_H
30 #include "../raster/Raster.h"
39 #include <gdal_priv.h>
90 const std::vector<te::rst::BandProperty*>& bprops,
91 const std::map<std::string, std::string>& optParams,
92 const std::map<std::string, std::string>& metadata,
109 std::map<std::string, std::string>
getInfo()
const;
137 te::rst::Raster*
transform(
int srid,
double llx,
double lly,
double urx,
double ury,
double resx,
double resy,
const std::map<std::string, std::string>& rinfo,
int m = 0)
const;
145 const std::vector<te::rst::BandProperty*> bands,
146 const std::map<std::string, std::string>& rinfo,
147 const std::map<std::string, std::string>& metadata,
148 void* h,
void (*deleter)(
void*));
167 Raster(
const unsigned int multiResolutionLevel,
const std::string& uRI,
174 void (*m_deleter)(
void*);
A base class for values that can be retrieved from the data access module.
This class represents Raster data.
std::map< std::string, std::string > getInfo() const
It returns additional information about the raster.
ScopedDataSetHandlePtr m_gdatasetHandle
Gdal data set handler.
const te::rst::Band & operator[](std::size_t i) const
Access band in i position.
std::unique_ptr< DataSetUseCounter > m_dsUseCounterPtr
Dataset use counter pointer.
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.
bool removeMultiResolution()
Remove/Destroy a sub-sampled multi-resolution pyramid, if there is one.
te::rst::Band & operator[](std::size_t i)
Access band in i position.
GDALDataset * getGDALDataset() const
Returns the raster GDAL handler.
const te::rst::Band * getBand(std::size_t i) const
Returns the raster i-th band.
te::rst::Raster * transform(int srid, double llx, double lly, double urx, double ury, double resx, double resy, const std::map< std::string, std::string > &rinfo, int m=0) const
std::vector< Band * > m_bands
The vector of available bands in the raster.
unsigned int getMultiResLevelsCount() const
Returns the current number of multi-resolution pyramid levels.
void open(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
Opens a raster.
Raster & operator=(const Raster &rhs)
Raster(const std::string &rinfo, te::common::AccessPolicy p=te::common::RAccess)
Constructor.
te::rst::Raster * resample(int method, int scale, const std::map< std::string, std::string > &rinfo) const
Resample raster.
void create(te::rst::Grid *g, const std::vector< te::rst::BandProperty * > bands, const std::map< std::string, std::string > &rinfo, const std::map< std::string, std::string > &metadata, void *h, void(*deleter)(void *))
void transform(te::rst::Raster *outRaster)
Raster(te::rst::Grid *grid, const std::vector< te::rst::BandProperty * > &bprops, const std::map< std::string, std::string > &optParams, const std::map< std::string, std::string > &metadata, te::common::AccessPolicy p=te::common::RAccess)
Constructor.
te::dt::AbstractData * clone() const
It returns a clone of this object.
~Raster()
Virtual destructor.
Raster(const unsigned int multiResolutionLevel, const std::string &uRI, const te::common::AccessPolicy &policy)
Constructor.
std::string m_myURI
This instance URI;.
std::size_t getNumberOfBands() const
Returns the number of bands (dimension of cells attribute values) in the raster.
Raster(const Raster &rhs)
Constructor.
te::rst::Band * getBand(std::size_t i)
Returns the raster i-th band.
int getBandDataType(std::size_t i) const
Returns the data type in a particular band (or dimension).
bool createMultiResolution(const unsigned int levels, const te::rst::InterpolationMethod interpMethod)
Create a sub-sampled multi-resolution pyramid.
A raster band description.
A rectified grid is the spatial support for raster data.
An abstract class for raster data strucutures.
virtual Raster * transform(int srid, const std::map< std::string, std::string > &rinfo, int m=1) const
Reprojects this raster to a distinct SRS. This method reprojects this raster to a distinct SRS....
AccessPolicy
Supported data access policies (can be used as bitfield).
std::unique_ptr< ScopedDataSetHandle > ScopedDataSetHandlePtr
InterpolationMethod
Allowed interpolation methods.
Band implementation for TerraLib 4.x.
#define TEGDALEXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).