te::gdal Namespace Reference

Namespace for the TerraLib GDAL driver implementation. More...

Classes

class  Band
 This class represents raster band description. More...
 
class  DataSet
 A GDAL data set gives access to a raster file. More...
 
class  DataSetsManager
 GDAL data set manager. More...
 
class  DataSetUseCounter
 GDAL data set use counter. More...
 
class  DataSource
 A driver to access raster data using the GDAL library. More...
 
struct  DriverMetadata
 GDAL driver metadata. More...
 
class  Globals
 An static class with global definitions for the TerraLib GDAL driver. More...
 
class  Raster
 This class represents Raster data. More...
 
class  RasterFactory
 This is the concrete factory for GDAL rasters. More...
 
class  Transactor
 

Typedefs

typedef boost::shared_ptr< DataSetDataSetPtr
 

Functions

te::da::DataSourceBuild (const te::core::URI &uri)
 
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. More...
 
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)
 Creates a raster data using GDAL. More...
 
void GDALErrorHandler (CPLErr eErrClass, int errNo, const char *msg)
 
TEGDALEXPORT void GetBandProperties (GDALDataset *gds, std::vector< te::rst::BandProperty * > &bprops)
 Gets the list of bands definition from a GDAL dataset. More...
 
te::rst::BandPropertyGetBandProperty (GDALRasterBand *gband, const unsigned int bandIndex)
 Gets the properties of a single band from a GDAL dataset. More...
 
void GetBands (te::gdal::Raster *rst, std::vector< te::gdal::Band * > &bands)
 Gets the list of bands from a GDAL dataset. More...
 
bool GetBands (te::gdal::Raster *rst, int multiResLevel, std::vector< te::gdal::Band * > &bands)
 Gets the list of bands from a GDAL dataset. More...
 
std::string GetDriverName (const std::string &dsName)
 It returns the GDAL driver name associated to a data source name. More...
 
te::gm::EnvelopeGetExtent (std::string strAccessInfo)
 Gets the extent of a raster data decoded by GDAL. More...
 
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 driver names. More...
 
GDALColorInterp GetGDALColorInterpretation (te::rst::ColorInterp ci)
 It translates a TerraLib ColorInterpretation to a GDAL ColorInterpretation. More...
 
std::string GetGDALConnectionInfo (const std::map< std::string, std::string > &connInfo)
 It returns a GDAL connection string from the given map. More...
 
GDALDataType GetGDALDataType (int tet)
 It translates a TerraLib DataType to a GDAL DataType. More...
 
std::map< std::string, DriverMetadata > & GetGDALDriversMetadata ()
 Returns metadata from all registered GDAL drivers (key: driver name). More...
 
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. More...
 
std::string GetGDALRessamplingMethod (te::rst::InterpolationMethod interpolationMethod)
 It translates a TerraLib interpolation method into a GDAL ressampling method name string. More...
 
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. More...
 
TEGDALEXPORT te::rst::GridGetGrid (GDALDataset *gds)
 Gets the grid definition from a GDAL dataset. More...
 
TEGDALEXPORT te::rst::GridGetGrid (GDALDataset *gds, const int multiResLevel)
 Gets the grid definition from a GDAL dataset. More...
 
std::string GetParentDataSetName (const std::string &subDataSetName)
 It returns the parent dataset name from a Sub DataSet name. More...
 
GDALDataset * GetRasterHandle (std::string strAccessInfo, te::common::AccessPolicy policy=te::common::RAccess)
 Get a handle to a raster file. More...
 
te::rst::RasterPropertyGetRasterProperty (std::string strAccessInfo)
 Gets the complete description from a GDAL dataset. More...
 
TEGDALEXPORT boost::mutex & getStaticMutex ()
 Returns a reference to a static mutex initialized when this module is initialized. More...
 
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. More...
 
te::rst::ColorInterp GetTeColorInterpretation (GDALColorInterp gci)
 It translates a GDAL ColorInterpretation to a TerraLib ColorInterpretation. More...
 
int GetTeDataType (GDALDataType gt)
 It translates a GDAL DataType to a TerraLib DataType. More...
 
te::rst::PaletteInterpretation GetTePaletteInterpretation (GDALPaletteInterp gpi)
 It translates a GDAL Pallete Interpretation to a TerraLib Pallete Interpretation. More...
 
bool IsSubDataSet (const std::string &uri)
 Returns true if the given URI is related to a sub-dataset. More...
 
std::string MakePGConnectionStr (const std::map< std::string, std::string > &dsInfo)
 Returns a PostGIS connection string from the set connection information. The connection string is to be used as a dataset name in GDAL data model. See also http://trac.osgeo.org/gdal/wiki/frmts_wtkraster.html. More...
 
TEGDALEXPORT void Rasterize (std::vector< te::gm::Geometry * > geometries, GDALDataset *outraster)
 Rasterizes a given vector of geometries, using GDALRasterizeGeometries function. More...
 
bool RecognizesSRID (unsigned int srid)
 It returns true if GDAL recognizes the given SRS id. More...
 
bool ReprojectRaster (te::rst::Raster const *const rin, te::rst::Raster *rout)
 Reprojects a raster to another SRS. More...
 
TEGDALEXPORT void Vectorize (GDALRasterBand *band, std::vector< te::gm::Geometry * > &geometries)
 Vectorizes a given raster band, using GDALPolygonize function. More...
 

Detailed Description

Namespace for the TerraLib GDAL driver implementation.

Typedef Documentation

typedef boost::shared_ptr<DataSet> te::gdal::DataSetPtr

Definition at line 173 of file DataSet.h.

Function Documentation

te::da::DataSource* te::gdal::Build ( const te::core::URI uri)
GDALDataset* te::gdal::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.

Parameters
gRaster grid info.
bandsBand info.
optParamsA vector of optional parameters that are valid only for some data formats.
Returns
A pointer to a GDALDataset if it succeeds or a NULL pointer otherwise. Caller is responsible for closing it.
Exceptions
ExceptionIt throws an exception if the raster can not be created.
GDALDataset* te::gdal::CreateRaster ( const std::string &  name,
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.

Parameters
nameThe name of the dataset to create. UTF-8 encoded.
gRaster grid info.
bandsBand info.
optParamsA vector of optional parameters that are valid only for some data formats.
Returns
A pointer to a GDALDataset if it succeeds or a NULL pointer otherwise. Caller is responsible for closing it.
Exceptions
ExceptionIt throws an exception if the raster can not be created.
void te::gdal::GDALErrorHandler ( CPLErr  eErrClass,
int  errNo,
const char *  msg 
)
TEGDALEXPORT void te::gdal::GetBandProperties ( GDALDataset *  gds,
std::vector< te::rst::BandProperty * > &  bprops 
)

Gets the list of bands definition from a GDAL dataset.

Parameters
gdsA pointer to a GDAL dataset.
bpropsA reference to a vector to be filled with the bands description extracted from a dataset.
Note
The caller of this method must take the ownership of the returned properties.
te::rst::BandProperty* te::gdal::GetBandProperty ( GDALRasterBand *  gband,
const unsigned int  bandIndex 
)

Gets the properties of a single band from a GDAL dataset.

Parameters
gbandA pointer to a GDAL Raster Band.
bandIndexThe band index (starting from 0).
Returns
A band property.
Note
The caller of this method must take the ownership of the returned properties.
void te::gdal::GetBands ( te::gdal::Raster rst,
std::vector< te::gdal::Band * > &  bands 
)

Gets the list of bands from a GDAL dataset.

Parameters
rstA pointer to the raster.
bandsA reference to a vector to be filled with the bands extracted from a dataset.
Note
The caller of this method must take the ownership of the returned properties.
bool te::gdal::GetBands ( te::gdal::Raster rst,
int  multiResLevel,
std::vector< te::gdal::Band * > &  bands 
)

Gets the list of bands from a GDAL dataset.

Parameters
rstA pointer to the raster.
multiResLevelMulti-resolution pyramid level (value -1 -> overviews disabled).
bandsA reference to a vector to be filled with the bands extracted from a dataset.
Note
The caller of this method must take the ownership of the returned properties.
std::string te::gdal::GetDriverName ( const std::string &  dsName)

It returns the GDAL driver name associated to a data source name.

Parameters
dsNamethe name of the file that represents the data source.
Returns
the GDAL driver name, or its identifier if succeeds and a null string otherwise.
te::gm::Envelope* te::gdal::GetExtent ( std::string  strAccessInfo)

Gets the extent of a raster data decoded by GDAL.

Parameters
strAccessInfoA a string to be used by GDAL to access the raster.
Returns
A pointer to raster extent. Caller takes its ownership.
std::multimap< std::string, std::string > te::gdal::GetGDALAllDriversUCaseExt2DriversMap ( const bool  creationSupport)

Returns a map of all GDAL supported Upper-case ( vector and raster ) extensions to their respective driver names.

Parameters
creationSupportReturn only those extensions with dataset creation support.
Returns
Returns the result map.
Note
To get only vector extensiones use GetGDALVectorDriversUCaseExt2DriversMap(().
To get only raster extensiones use GetGDALRasterDriversUCaseExt2DriversMap(().
GDALColorInterp te::gdal::GetGDALColorInterpretation ( te::rst::ColorInterp  ci)
inline
std::string te::gdal::GetGDALConnectionInfo ( const std::map< std::string, std::string > &  connInfo)

It returns a GDAL connection string from the given map.

Parameters
connInfoAn associative conteiner with data source connection info.
Returns
a GDAL connection string from the given map.
Exceptions
ExceptionIt throws an exception if no connection info exists in the input map.
GDALDataType te::gdal::GetGDALDataType ( int  tet)
inline
std::map< std::string, DriverMetadata >& te::gdal::GetGDALDriversMetadata ( )

Returns metadata from all registered GDAL drivers (key: driver name).

Returns
Metadata from all registered GDAL drivers (key: driver name).
std::multimap< std::string, std::string > te::gdal::GetGDALRasterDriversUCaseExt2DriversMap ( const bool  creationSupport)

Returns a map of all GDAL supported Upper-case raster extensions to their respective driver names.

Parameters
creationSupportReturn only those extensions with dataset creation support.
Returns
Returns the result map.
std::string te::gdal::GetGDALRessamplingMethod ( te::rst::InterpolationMethod  interpolationMethod)
inline

It translates a TerraLib interpolation method into a GDAL ressampling method name string.

Definition at line 193 of file Utils.h.

References te::rst::Bicubic, te::rst::Bilinear, te::rst::NearestNeighbor, and TE_TR.

std::multimap< std::string, std::string > te::gdal::GetGDALVectorDriversUCaseExt2DriversMap ( const bool  creationSupport)

Returns a map of all GDAL supported Upper-case vector extensions to their respective driver names.

Parameters
creationSupportReturn only those extensions with dataset creation support.
Returns
Returns the result map.
TEGDALEXPORT te::rst::Grid* te::gdal::GetGrid ( GDALDataset *  gds)

Gets the grid definition from a GDAL dataset.

Parameters
gdsA pointer to a GDAL dataset.
Returns
A pointer to the grid definition from a GDAL dataset. Caller takes its ownership.
TEGDALEXPORT te::rst::Grid* te::gdal::GetGrid ( GDALDataset *  gds,
const int  multiResLevel 
)

Gets the grid definition from a GDAL dataset.

Parameters
gdsA pointer to a GDAL dataset.
multiResLevelMulti resolution level (use -1 to use the original resolution).
Returns
A pointer to the grid definition from a GDAL dataset. Caller takes its ownership.
std::string te::gdal::GetParentDataSetName ( const std::string &  subDataSetName)

It returns the parent dataset name from a Sub DataSet name.

Parameters
subDataSetNameThe Full SubDataSet string name.
Returns
the parent dataset name from a Sub DataSet name.
Note
If the given name does not refers to a sub-dataset it will be returned.
GDALDataset* te::gdal::GetRasterHandle ( std::string  strAccessInfo,
te::common::AccessPolicy  policy = te::common::RAccess 
)

Get a handle to a raster file.

Parameters
filenameFile name (path included).
policyThe access permission requested.
Returns
A pointer to GDAL dataset if it succeeds or a NULL pointer otherwise.
te::rst::RasterProperty* te::gdal::GetRasterProperty ( std::string  strAccessInfo)

Gets the complete description from a GDAL dataset.

Parameters
strAccessInfoA a string to be used by GDAL to access the raster.
Returns
A pointer to the raster description from a GDAL dataset. Caller takes its ownership.
TEGDALEXPORT boost::mutex& te::gdal::getStaticMutex ( )

Returns a reference to a static mutex initialized when this module is initialized.

Returns
Returns a reference to a static mutex initialized when this module is initialized.
std::string te::gdal::GetSubDataSetName ( const std::string &  name,
const std::string &  driverName 
)

It returns the Sub DataSet name from the given name or the same name.

Parameters
nameThe Full SubDataSet string name.
driverNameThe driver name.
Returns
The Sub DataSet name from the given name.
int te::gdal::GetTeDataType ( GDALDataType  gt)
inline
te::rst::PaletteInterpretation te::gdal::GetTePaletteInterpretation ( GDALPaletteInterp  gpi)
inline

It translates a GDAL Pallete Interpretation to a TerraLib Pallete Interpretation.

Definition at line 178 of file Utils.h.

References te::rst::CMYKPalInt, te::rst::GrayPalInt, te::rst::HSLPalInt, te::rst::RGBPalInt, and te::rst::UndefPalInt.

bool te::gdal::IsSubDataSet ( const std::string &  uri)

Returns true if the given URI is related to a sub-dataset.

Parameters
uriThe given URI.
Returns
true if the given URI is related to a sub-dataset.
std::string te::gdal::MakePGConnectionStr ( const std::map< std::string, std::string > &  dsInfo)

Returns a PostGIS connection string from the set connection information. The connection string is to be used as a dataset name in GDAL data model. See also http://trac.osgeo.org/gdal/wiki/frmts_wtkraster.html.

Parameters
connInfoThe connection parameters.
Returns
Returns a PostGIS connection string from the set connection information.
TEGDALEXPORT void te::gdal::Rasterize ( std::vector< te::gm::Geometry * >  geometries,
GDALDataset *  outraster 
)

Rasterizes a given vector of geometries, using GDALRasterizeGeometries function.

Parameters
geometriesA vector of geometries to be rasterized.
outrasterA reference to the GDAL dataset where the rasterized geometries will be drawn.
bool te::gdal::RecognizesSRID ( unsigned int  srid)

It returns true if GDAL recognizes the given SRS id.

Parameters
sridThe SRS identifier.
Returns
true if GDAL recognizes the given SRS id or false otherwise.
bool te::gdal::ReprojectRaster ( te::rst::Raster const *const  rin,
te::rst::Raster rout 
)

Reprojects a raster to another SRS.

Parameters
rinThe input raster file. Do not pass a null pointer.
routThe new output raster. Do not pass a null pointer.
Returns
true If the reprojection was done or false otherwise.
TEGDALEXPORT void te::gdal::Vectorize ( GDALRasterBand *  band,
std::vector< te::gm::Geometry * > &  geometries 
)

Vectorizes a given raster band, using GDALPolygonize function.

Parameters
bandThe band to vectorize.
geometriesA reference to a vector of geometries. Will be filled with geometries found in band.