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  Module
 The TerraLib GDAL driver is a plugin. 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 ()
 
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...
 
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...
 
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...
 
const std::map< std::string, DriverMetadata > & GetGDALDriversMetadata ()
 Returns metadata from all registered GDAL drivers (key: driver name). More...
 
const std::multimap< std::string, std::string > & GetGDALDriversUCaseExt2DriversMap ()
 Returns a map all GDAL supported Upper-case 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...
 
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 181 of file DataSet.h.

Function Documentation

te::da::DataSource* te::gdal::Build ( )
inline

Definition at line 36 of file DataSourceFactory.h.

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.
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.
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
const 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).
const std::multimap< std::string, std::string >& te::gdal::GetGDALDriversUCaseExt2DriversMap ( )

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

Returns
Returns a map all GDAL supported Upper-case extensions to their respective driver names.
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 190 of file Utils.h.

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

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 175 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.