27 #include "../common/StringUtils.h" 28 #include "../core/translator/Translator.h" 49 params.push_back(std::pair<std::string, std::string>(
"MEM_SRC_RASTER_DRIVER_TYPE",
""));
50 params.push_back(std::pair<std::string, std::string>(
"MEM_TILED_RASTER",
""));
51 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_TILE_WIDTH",
""));
52 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_TILE_HEIGHT",
""));
54 params.push_back(std::pair<std::string, std::string>(
"MEM_IS_DATA_BUFFER",
""));
55 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_NROWS",
""));
56 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_NCOLS",
""));
57 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_DATATYPE",
""));
58 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_NBANDS",
""));
59 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_SRID",
""));
60 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_RES_X",
""));
61 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_RES_Y",
""));
62 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_MIN_X",
""));
63 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_MIN_Y",
""));
64 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_MAX_X",
""));
65 params.push_back(std::pair<std::string, std::string>(
"MEM_BUFFER_MAX_Y",
""));
67 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_NROWS",
""));
68 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_NCOLS",
""));
69 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_DATATYPE",
""));
70 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_NBANDS",
""));
71 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_SRID",
""));
72 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_RES_X",
""));
73 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_RES_Y",
""));
74 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_MIN_X",
""));
75 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_MIN_Y",
""));
76 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_MAX_X",
""));
77 params.push_back(std::pair<std::string, std::string>(
"MEM_RASTER_MAX_Y",
""));
86 const std::vector<te::rst::BandProperty*>
bands,
87 const std::map<std::string, std::string>& rinfo,
89 void (*deleter)(
void*))
91 std::unique_ptr<Raster> raster(
new Raster);
93 raster->create(g, bands, rinfo, h, deleter);
95 return raster.release();
105 std::map<std::string, std::string>
capabilities = std::map<std::string, std::string>();
te::rst::Raster * build()
Concrete factories (derived from this one) must implement this method in order to create objects...
A raster class for memory.
std::map< std::string, std::string > getCapabilities() const
It returns a map<string, string> containing all supported formats.
An exception class for the TerraLib In-Memory Data Access driver.
A raster class for memory.
An abstract class for raster data strucutures.
te::da::DataSourceCapabilities capabilities
This is the abstract factory for Rasters.
static RasterFactory sm_factory
const std::string & getType() const
Returns the type (name) of this factory.
This is the concrete factory for In-Memory driver.
~RasterFactory()
Destructor.
#define TE_MEMORY_DRIVER_IDENTIFIER
The In-Memory driver identifier string.
void getCreationalParameters(std::vector< std::pair< std::string, std::string > > ¶ms) const
It returns the list of parameters accepted as raster info.
static std::string sg_rasterFactoryId(TE_MEMORY_DRIVER_IDENTIFIER)
A rectified grid is the spatial support for raster data.
te::rst::Raster * create(te::rst::Grid *g, const std::vector< te::rst::BandProperty * > bands, const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
This method must be implemented by subclasses (raster drivers).