26 #ifndef __TERRALIB_RASTER_INTERNAL_RASTER_H
27 #define __TERRALIB_RASTER_INTERNAL_RASTER_H
30 #include "../common/Enums.h"
31 #include "../datatype/AbstractData.h"
32 #include "../datatype/Enums.h"
33 #include "../geometry/Geometry.h"
43 #include <boost/shared_ptr.hpp>
48 namespace gm {
class Envelope; }
108 void setName(
const std::string name);
111 const std::string& getName()
const;
130 virtual std::map<std::string, std::string> getInfo()
const = 0;
136 const Grid* getGrid()
const;
160 unsigned int getNumberOfRows()
const;
163 unsigned int getNumberOfColumns()
const;
166 double getResolutionX()
const;
169 double getResolutionY()
const;
172 virtual std::size_t getNumberOfBands()
const = 0;
183 virtual int getBandDataType(std::size_t i)
const = 0;
192 virtual const Band* getBand(std::size_t i)
const = 0;
201 virtual Band* getBand(std::size_t i) = 0;
212 virtual const Band& operator[](std::size_t i)
const = 0;
223 virtual Band& operator[](std::size_t i) = 0;
237 virtual void getValue(
unsigned int c,
unsigned int r,
double& value, std::size_t b = 0)
const;
251 virtual void setValue(
unsigned int c,
unsigned int r,
const double value, std::size_t b = 0);
265 virtual void getIValue(
unsigned int c,
unsigned int r,
double& value, std::size_t b = 0)
const;
279 virtual void setIValue(
unsigned int c,
unsigned int r,
const double value, std::size_t b = 0);
293 virtual void getValue(
unsigned int c,
unsigned int r, std::complex<double>& value, std::size_t b = 0)
const;
307 virtual void setValue(
unsigned int c,
unsigned int r,
const std::complex<double>& value, std::size_t b = 0);
320 virtual void getValues(
unsigned int c,
unsigned int r, std::vector<double>& values)
const;
333 virtual void getValues(
unsigned int c,
unsigned int r, std::vector<std::complex<double> >& values)
const;
346 virtual void setValues(
unsigned int c,
unsigned int r,
const std::vector<double>& values);
359 virtual void setValues(
unsigned int c,
unsigned int r,
const std::vector<std::complex<double> >& values);
363 std::string toString(
void)
const;
374 Raster& callOperator(std::complex<double>(*f)(std::complex<double>, std::complex<double>),
const Raster& rhs);
475 virtual Raster* resample(
int method,
unsigned int drow,
unsigned int dcolumn,
unsigned int height,
unsigned int width,
unsigned int newheight,
unsigned int newwidth,
const std::map<std::string, std::string>& rinfo);
490 virtual Raster* resample(
int method,
int scale,
const std::map<std::string, std::string>& rinfo);
501 Grid* getResampledGrid(
int scale);
517 virtual Raster* transform(
int srid,
const std::map<std::string, std::string>& rinfo,
int m = 1)
const;
537 virtual Raster* transform(
int srid,
double llx,
double lly,
double urx,
double ury,
const std::map<std::string, std::string>& rinfo,
int m = 1)
const;
559 virtual 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 = 1)
const;
568 virtual void vectorize(std::size_t , std::vector<te::gm::Geometry*>& ) {};
578 virtual void rasterize(std::vector<te::gm::Geometry*> g, std::vector<double> vp, std::size_t b = 0);
590 double applyScale(
int i,
const double& v);
604 #endif //__TERRALIB_RASTER_INTERNAL_RASTER_H
int getTypeCode() const
It returns the data type code associated to the data value.
std::string m_name
The raster name.
virtual void vectorize(std::size_t, std::vector< te::gm::Geometry * > &)
Vectorizes a given raster band, using GDALPolygonize function.
Grid * m_grid
The spatial support for raster data.
AccessPolicy
Supported data access policies (can be used as bitfield).
A raster band description.
A rectified grid is the spatial support for raster data.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
A base class for values that can be retrieved from the data access module.
te::common::AccessPolicy m_policy
The access policy, can be te::common::{NoAccess, RAccess, RWAccess, WAccess}.
An abstract class for raster data strucutures.
An Envelope defines a 2D rectangular region.
Configuration flags for the Raster module of TerraLib.
boost::shared_ptr< Raster > RasterPtr
capabilities setAccessPolicy(te::common::RWAccess)