26 #ifndef __TERRALIB_GDAL_INTERNAL_UTILS_H 27 #define __TERRALIB_GDAL_INTERNAL_UTILS_H 30 #include "../raster/BandProperty.h" 31 #include "../raster/Enums.h" 32 #include "../raster/Raster.h" 33 #include "../core/translator/Translator.h" 39 #include <gdal_priv.h> 40 #include <cpl_error.h> 48 #include <boost/filesystem.hpp> 49 #include <boost/thread/mutex.hpp> 53 namespace gm {
class Envelope;
class Geometry;}
55 namespace rst {
class Grid;
class RasterProperty; }
57 namespace core {
class URI; }
120 default :
return GDT_Unknown;
174 default :
return GCI_Undefined;
198 switch(interpolationMethod)
280 GDALDataset*
CreateRaster(
te::rst::Grid* g,
const std::vector<te::rst::BandProperty*>& bands,
const std::map<std::string, std::string>& optParams);
293 GDALDataset*
CreateRaster(
const std::string& name,
te::rst::Grid* g,
const std::vector<te::rst::BandProperty*>& bands,
const std::map<std::string, std::string>& optParams);
355 std::string
GetSubDataSetName(
const std::string& name,
const std::string& driverName);
415 const bool creationSupport );
423 const bool creationSupport );
433 const bool creationSupport );
GDALColorInterp GetGDALColorInterpretation(te::rst::ColorInterp ci)
It translates a TerraLib ColorInterpretation to a GDAL ColorInterpretation.
HSL indexed palette interpretation.
Palette indexes color interpretation.
std::multimap< std::string, std::string > GetGDALAllDriversUCaseExt2DriversMap(const bool creationSupport)
Returns a map of all GDAL supported Upper-case ( vector and raster ) extensions to their respective d...
This is a class that represents a GDAL Raster.
void GDALErrorHandler(CPLErr eErrClass, int errNo, const char *msg)
GDALDataType GetGDALDataType(int tet)
It translates a TerraLib DataType to a GDAL DataType.
Near neighborhood interpolation method.
Hue channel color interpretation.
te::rst::PaletteInterpretation GetTePaletteInterpretation(GDALPaletteInterp gpi)
It translates a GDAL Pallete Interpretation to a TerraLib Pallete Interpretation. ...
Alpha channel color interpretation.
Index into a lookup table.
Lightness color interpretation.
te::rst::ColorInterp GetTeColorInterpretation(GDALColorInterp gci)
It translates a GDAL ColorInterpretation to a TerraLib ColorInterpretation.
ColorInterp
Color model component use.
A raster band description.
RGB indexed palette interpretation.
This class represents Raster data.
Base exception class for plugin module.
te::rst::RasterProperty * GetRasterProperty(std::string strAccessInfo)
Gets the complete description from a GDAL dataset.
TEGDALEXPORT te::rst::Grid * GetGrid(GDALDataset *gds)
Gets the grid definition from a GDAL dataset.
Gray indexed palette interpretation.
#define TEGDALEXPORT
You can use this macro in order to export/import classes and functions from this module.
Red channel color interpretation.
TEGDALEXPORT void GetBandProperties(GDALDataset *gds, std::vector< te::rst::BandProperty *> &bprops)
Gets the list of bands definition from a GDAL dataset.
TEGDALEXPORT void Rasterize(std::vector< te::gm::Geometry *> geometries, GDALDataset *outraster)
Rasterizes a given vector of geometries, using GDALRasterizeGeometries function.
#define TE_TR(message)
It marks a string in order to get translated.
Cyan color interpretation.
InterpolationMethod
Allowed interpolation methods.
TEGDALEXPORT void Vectorize(GDALRasterBand *band, std::vector< te::gm::Geometry *> &geometries)
Vectorizes a given raster band, using GDALPolygonize function.
std::string GetGDALRessamplingMethod(te::rst::InterpolationMethod interpolationMethod)
It translates a TerraLib interpolation method into a GDAL ressampling method name string...
int GetTeDataType(GDALDataType gt)
It translates a GDAL DataType to a TerraLib DataType.
AccessPolicy
Supported data access policies (can be used as bitfield).
std::string MakePGConnectionStr(const te::core::URI &connInfo)
Returns a PostGIS connection string from the URI connection information. The connection string is to ...
YCbCr Cr Band color interpretation.
ScopedDataSetHandlePtr GetRasterHandle(std::string strAccessInfo, te::common::AccessPolicy policy=te::common::RAccess)
Get a handle to a raster file.
An Envelope defines a 2D rectangular region.
std::unique_ptr< ScopedDataSetHandle > ScopedDataSetHandlePtr
An abstract class for raster data strucutures.
std::string GetParentDataSetName(const std::string &subDataSetName)
It returns the parent dataset name from a Sub DataSet name.
GDALDataset * CreateRaster(te::rst::Grid *g, const std::vector< te::rst::BandProperty *> &bands, const std::map< std::string, std::string > &optParams)
Creates a raster data using GDAL.
No color interpretation is associated with the band.
te::gm::Envelope * GetExtent(std::string strAccessInfo)
Gets the extent of a raster data decoded by GDAL.
Undefined palette interpretation.
Key (black) color interpretation.
Yellow color interpretation.
std::string GetDriverName(const std::string &dsName)
It returns the GDAL driver name associated to a data source name.
Bicubic interpolation method.
TEGDALEXPORT boost::mutex & getStaticMutex()
Returns a reference to a static mutex initialized when this module is initialized.
A class to store the proxy information that must be used to access data located in URIs...
bool IsSubDataSet(const std::string &uri)
Returns true if the given URI is related to a sub-dataset.
bool ReprojectRaster(te::rst::Raster const *const rin, te::rst::Raster *rout)
Reprojects a raster to another SRS.
std::multimap< std::string, std::string > GetGDALVectorDriversUCaseExt2DriversMap(const bool creationSupport)
Returns a map of all GDAL supported Upper-case vector extensions to their respective driver names...
bool RecognizesSRID(unsigned int srid)
It returns true if GDAL recognizes the given SRS id.
std::string GetGDALConnectionInfo(const std::map< std::string, std::string > &connInfo)
It returns a GDAL connection string from the given map.
YCbCr Y Band color interpretation.
Bilinear interpolation method.
CMYK indexed palette interpretation.
Saturation color interpretation.
Blue channel color interpretation.
PaletteInterpretation
Palette interpratation types.
A rectified grid is the spatial support for raster data.
std::string GetSubDataSetName(const std::string &name, const std::string &driverName)
It returns the Sub DataSet name from the given name or the same name.
Green channel color interpretation.
te::rst::BandProperty * GetBandProperty(GDALRasterBand *gband, const unsigned int bandIndex)
Gets the properties of a single band from a GDAL dataset.
Magenta color interpretation.
YCbCr Cb Band color interpretation.
std::map< std::string, DriverMetadata > & GetGDALDriversMetadata()
Returns metadata from all registered GDAL drivers (key: driver name).
void GetBands(te::gdal::Raster *rst, std::vector< te::gdal::Band *> &bands)
Gets the list of bands from a GDAL dataset.
Configuration flags for the GDAL Driver of TerraLib.
std::multimap< std::string, std::string > GetGDALRasterDriversUCaseExt2DriversMap(const bool creationSupport)
Returns a map of all GDAL supported Upper-case raster extensions to their respective driver names...