26 #ifndef __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_H 
   27 #define __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_H 
   30 #include "../common/AbstractFactory.h" 
   91         static Raster* 
make(
Grid* g, 
const std::vector<BandProperty*> bands, 
const std::map<std::string, std::string>& rinfo, 
void* h = 0, 
void (*deleter)(
void*) = 0);
 
  109         static Raster* 
make(
const std::string& rType, 
Grid* g, 
const std::vector<BandProperty*> bands, 
const std::map<std::string, std::string>& rinfo, 
void* h = 0, 
void (*deleter)(
void*) = 0);
 
  129           const std::vector<BandProperty*> bands, 
 
  130           const std::map<std::string, std::string>& rinfo,
 
  131           const std::map<std::string, std::string>& metadata, 
 
  132           void* h = 0, 
void (*deleter)(
void*) = 0);        
 
  147         static Raster* 
make(
const std::map<std::string, std::string>& rinfo, 
void* h = 0, 
void (*deleter)(
void*) = 0);
 
  163         static Raster* 
make(
const std::string& rType, 
const std::map<std::string, std::string>& rinfo, 
void* h, 
void (*deleter)(
void*) = 0);
 
  221         virtual const std::string& 
getType() 
const = 0;
 
  265           const std::map<std::string, std::string>& rinfo, 
 
  266           const std::map<std::string, std::string>& metadata,
 
  267           void* h = 0, 
void (*deleter)(
void*) = 0) = 0;
 
This class defines the interface of abstract factories without initializing parameters.
 
A rectified grid is the spatial support for raster data.
 
This is the abstract factory for Rasters.
 
virtual void getCreationalParameters(std::vector< std::pair< std::string, std::string > > ¶ms) const =0
It returns the list of parameters accepted as raster info.
 
virtual std::map< std::string, std::string > getCapabilities() const =0
It returns a map<string, string> containing all supported formats.
 
static Raster * make(const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using the default driver.
 
static Raster * make(const std::string &rType, Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, const std::map< std::string, std::string > &metadata, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
 
RasterFactory(const std::string &factoryKey)
Constructor.
 
static Raster * make()
It creates and returns an empty raster with default raster driver.
 
static Raster * open(const std::string &key, const std::string &value, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters and default raster driver.
 
static Raster * make(const std::string &rType, const std::map< std::string, std::string > &rinfo, void *h, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
 
virtual ~RasterFactory()
Destructor.
 
static Raster * make(const std::string &rType)
It creates an empty raster with the proper driver.
 
virtual const std::string & getType() const =0
Returns the type (name) of this factory.
 
static Raster * open(const std::string &rType, const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters.
 
virtual Raster * create(Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, const std::map< std::string, std::string > &metadata, void *h=0, void(*deleter)(void *)=0)=0
This method must be implemented by subclasses (raster drivers).
 
static Raster * open(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
It opens a raster with the given parameters and default raster driver.
 
static Raster * make(const std::string &rType, Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
 
virtual Raster * iOpen(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
This method may be re-implemented by subclasses in order to have a finner control for the raster obje...
 
static Raster * open(const std::string &rType, const std::string &key, const std::string &value, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters.
 
static Raster * make(Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using the default raster driver.
 
An abstract class for raster data strucutures.
 
AccessPolicy
Supported data access policies (can be used as bitfield).
 
Raster implementaton for TerraLib 4.x.
 
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.