GDAL
Public Member Functions | Protected Member Functions | Friends | List of all members
GDALProxyPoolRasterBand Class Reference
Inheritance diagram for GDALProxyPoolRasterBand:
GDALProxyRasterBand GDALRasterBand GDALMajorObject GDALProxyPoolMaskBand GDALProxyPoolOverviewRasterBand

Public Member Functions

 GDALProxyPoolRasterBand (GDALProxyPoolDataset *poDS, int nBand, GDALDataType eDataType, int nBlockXSize, int nBlockYSize)
 
 GDALProxyPoolRasterBand (GDALProxyPoolDataset *poDS, GDALRasterBand *poUnderlyingRasterBand)
 
void AddSrcMaskBandDescription (GDALDataType eDataType, int nBlockXSize, int nBlockYSize)
 
virtual char ** GetMetadata (const char *pszDomain)
 Fetch metadata. More...
 
virtual const char * GetMetadataItem (const char *pszName, const char *pszDomain)
 Fetch single metadata item. More...
 
virtual char ** GetCategoryNames ()
 Fetch the list of category names for this raster. More...
 
virtual const char * GetUnitType ()
 Return raster unit type. More...
 
virtual GDALColorTableGetColorTable ()
 Fetch the color table associated with band. More...
 
virtual GDALRasterBandGetOverview (int)
 Fetch overview raster band object. More...
 
virtual GDALRasterBandGetRasterSampleOverview (GUIntBig nDesiredSamples)
 Fetch best sampling overview. More...
 
virtual GDALRasterBandGetMaskBand ()
 Return the mask band associated with the band. More...
 
- Public Member Functions inherited from GDALProxyRasterBand
virtual char ** GetMetadataDomainList ()
 Fetch list of metadata domains. More...
 
virtual CPLErr SetMetadata (char **papszMetadata, const char *pszDomain)
 Set metadata. More...
 
virtual CPLErr SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain)
 Set single metadata item. More...
 
virtual CPLErr FlushCache ()
 Flush raster data cache. More...
 
virtual double GetNoDataValue (int *pbSuccess=NULL)
 Fetch the no data value for this band. More...
 
virtual double GetMinimum (int *pbSuccess=NULL)
 Fetch the minimum value for this band. More...
 
virtual double GetMaximum (int *pbSuccess=NULL)
 Fetch the maximum value for this band. More...
 
virtual double GetOffset (int *pbSuccess=NULL)
 Fetch the raster value offset. More...
 
virtual double GetScale (int *pbSuccess=NULL)
 Fetch the raster value scale. More...
 
virtual GDALColorInterp GetColorInterpretation ()
 How should this band be interpreted as color? More...
 
virtual CPLErr Fill (double dfRealValue, double dfImaginaryValue=0)
 Fill this band with a constant value. More...
 
virtual CPLErr SetCategoryNames (char **)
 Set the category names for this band. More...
 
virtual CPLErr SetNoDataValue (double)
 Set the no data value for this band. More...
 
virtual CPLErr DeleteNoDataValue ()
 Remove the no data value for this band. More...
 
virtual CPLErr SetColorTable (GDALColorTable *)
 Set the raster color table. More...
 
virtual CPLErr SetColorInterpretation (GDALColorInterp)
 Set color interpretation of a band. More...
 
virtual CPLErr SetOffset (double)
 Set scaling offset. More...
 
virtual CPLErr SetScale (double)
 Set scaling ratio. More...
 
virtual CPLErr SetUnitType (const char *)
 Set unit type. More...
 
virtual CPLErr GetStatistics (int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
 Fetch image statistics. More...
 
virtual CPLErr ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
 Compute image statistics. More...
 
virtual CPLErr SetStatistics (double dfMin, double dfMax, double dfMean, double dfStdDev)
 Set statistics on band. More...
 
virtual CPLErr ComputeRasterMinMax (int, double *)
 Compute the min/max values for a band. More...
 
virtual int HasArbitraryOverviews ()
 Check for arbitrary overviews. More...
 
virtual int GetOverviewCount ()
 Return the number of overview layers available. More...
 
virtual CPLErr BuildOverviews (const char *, int, int *, GDALProgressFunc, void *)
 Build raster overview(s) More...
 
virtual CPLErr AdviseRead (int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eDT, char **papszOptions)
 Advise driver of upcoming read requests. More...
 
virtual CPLErr GetHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
 Compute raster histogram. More...
 
virtual CPLErr GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
 Fetch default raster histogram. More...
 
virtual CPLErr SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
 Set default histogram. More...
 
virtual GDALRasterAttributeTableGetDefaultRAT ()
 Fetch default Raster Attribute Table. More...
 
virtual CPLErr SetDefaultRAT (const GDALRasterAttributeTable *)
 Set default Raster Attribute Table. More...
 
virtual int GetMaskFlags ()
 Return the status flags of the mask band associated with the band. More...
 
virtual CPLErr CreateMaskBand (int nFlags)
 Adds a mask band to the current band. More...
 
virtual CPLVirtualMemGetVirtualMemAuto (GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions)
 Create a CPLVirtualMem object from a GDAL raster band object. More...
 
- Public Member Functions inherited from GDALRasterBand
 GDALRasterBand ()
 
 GDALRasterBand (int bForceCachedIO)
 
virtual ~GDALRasterBand ()
 
int GetXSize ()
 Fetch XSize of raster. More...
 
int GetYSize ()
 Fetch YSize of raster. More...
 
int GetBand ()
 Fetch the band number. More...
 
GDALDatasetGetDataset ()
 Fetch the owning dataset handle. More...
 
GDALDataType GetRasterDataType (void)
 Fetch the pixel data type for this band. More...
 
void GetBlockSize (int *, int *)
 Fetch the "natural" block size of this band. More...
 
GDALAccess GetAccess ()
 Find out if we have update permission for this band. More...
 
CPLErr RasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
 Read/write a region of image data for this band. More...
 
CPLErr ReadBlock (int, int, void *) CPL_WARN_UNUSED_RESULT
 Read a block of image data efficiently. More...
 
CPLErr WriteBlock (int, int, void *) CPL_WARN_UNUSED_RESULT
 Write a block of image data efficiently. More...
 
GDALRasterBlockGetLockedBlockRef (int nXBlockOff, int nYBlockOff, int bJustInitialize=FALSE) CPL_WARN_UNUSED_RESULT
 Fetch a pointer to an internally cached raster block. More...
 
CPLErr FlushBlock (int, int, int bWriteDirtyBlock=TRUE)
 
unsigned char * GetIndexColorTranslationTo (GDALRasterBand *poReferenceBand, unsigned char *pTranslationTable=NULL, int *pApproximateMatching=NULL)
 Compute translation table for color tables. More...
 
void ReportError (CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...) CPL_PRINT_FUNC_FORMAT(4
 Emits an error related to a raster band. More...
 
- Public Member Functions inherited from GDALMajorObject
int GetMOFlags ()
 
void SetMOFlags (int nFlagsIn)
 
virtual const char * GetDescription () const
 Fetch object description. More...
 
virtual void SetDescription (const char *)
 Set object description. More...
 

Protected Member Functions

virtual GDALRasterBandRefUnderlyingRasterBand ()
 
virtual void UnrefUnderlyingRasterBand (GDALRasterBand *poUnderlyingRasterBand)
 
- Protected Member Functions inherited from GDALProxyRasterBand
virtual CPLErr IReadBlock (int, int, void *)
 
virtual CPLErr IWriteBlock (int, int, void *)
 
virtual CPLErr IRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg)
 
- Protected Member Functions inherited from GDALRasterBand
void InvalidateMaskBand ()
 
CPLErr RasterIOResampled (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
 
int EnterReadWrite (GDALRWFlag eRWFlag)
 
void LeaveReadWrite ()
 
CPLErr OverviewRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
 
CPLErr TryOverviewRasterIO (GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void *pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg, int *pbTried)
 
int InitBlockInfo ()
 
CPLErr AdoptBlock (GDALRasterBlock *)
 
GDALRasterBlockTryGetLockedBlockRef (int nXBlockOff, int nYBlockYOff)
 Try fetching block ref. More...
 
void AddBlockToFreeList (GDALRasterBlock *)
 
- Protected Member Functions inherited from GDALMajorObject
char ** BuildMetadataDomainList (char **papszList, int bCheckNonEmpty,...) CPL_NULL_TERMINATED
 Helper function for custom implementations of GetMetadataDomainList() More...
 

Friends

class GDALProxyPoolOverviewRasterBand
 
class GDALProxyPoolMaskBand
 

Additional Inherited Members

- Protected Attributes inherited from GDALRasterBand
GDALDatasetpoDS
 
int nBand
 
int nRasterXSize
 
int nRasterYSize
 
GDALDataType eDataType
 
GDALAccess eAccess
 
int nBlockXSize
 
int nBlockYSize
 
int nBlocksPerRow
 
int nBlocksPerColumn
 
int nBlockReads
 
int bForceCachedIO
 
GDALRasterBandpoMask
 
bool bOwnMask
 
int nMaskFlags
 
- Protected Attributes inherited from GDALMajorObject
int nFlags
 
CPLString sDescription
 
GDALMultiDomainMetadata oMDMD
 

Member Function Documentation

char ** GDALProxyPoolRasterBand::GetCategoryNames ( )
virtual

Fetch the list of category names for this raster.

The return list is a "StringList" in the sense of the CPL functions. That is a NULL terminated array of strings. Raster values without associated names will have an empty string in the returned list. The first entry in the list is for raster values of zero, and so on.

The returned stringlist should not be altered or freed by the application. It may change on the next GDAL call, so please copy it if it is needed for any period of time.

This method is the same as the C function GDALGetRasterCategoryNames().

Returns
list of names, or NULL if none.

Reimplemented from GDALProxyRasterBand.

GDALColorTable * GDALProxyPoolRasterBand::GetColorTable ( )
virtual

Fetch the color table associated with band.

If there is no associated color table, the return result is NULL. The returned color table remains owned by the GDALRasterBand, and can't be depended on for long, nor should it ever be modified by the caller.

This method is the same as the C function GDALGetRasterColorTable().

Returns
internal color table, or NULL.

Reimplemented from GDALProxyRasterBand.

GDALRasterBand * GDALProxyPoolRasterBand::GetMaskBand ( )
virtual

Return the mask band associated with the band.

The GDALRasterBand class includes a default implementation of GetMaskBand() that returns one of four default implementations :

  • If a corresponding .msk file exists it will be used for the mask band.
  • If the dataset has a NODATA_VALUES metadata item, an instance of the new GDALNoDataValuesMaskBand class will be returned. GetMaskFlags() will return GMF_NODATA | GMF_PER_DATASET.
    Since
    GDAL 1.6.0
  • If the band has a nodata value set, an instance of the new GDALNodataMaskRasterBand class will be returned. GetMaskFlags() will return GMF_NODATA.
  • If there is no nodata value, but the dataset has an alpha band that seems to apply to this band (specific rules yet to be determined) and that is of type GDT_Byte then that alpha band will be returned, and the flags GMF_PER_DATASET and GMF_ALPHA will be returned in the flags.
  • If neither of the above apply, an instance of the new GDALAllValidRasterBand class will be returned that has 255 values for all pixels. The null flags will return GMF_ALL_VALID.

Note that the GetMaskBand() should always return a GDALRasterBand mask, even if it is only an all 255 mask with the flags indicating GMF_ALL_VALID.

This method is the same as the C function GDALGetMaskBand().

Returns
a valid mask band.
Since
GDAL 1.5.0
See also
http://trac.osgeo.org/gdal/wiki/rfc15_nodatabitmask

Reimplemented from GDALProxyRasterBand.

char ** GDALProxyPoolRasterBand::GetMetadata ( const char *  pszDomain)
virtual

Fetch metadata.

The returned string list is owned by the object, and may change at any time. It is formatted as a "Name=value" list with the last pointer value being NULL. Use the CPL StringList functions such as CSLFetchNameValue() to manipulate it.

Note that relatively few formats return any metadata at this time.

This method does the same thing as the C function GDALGetMetadata().

Parameters
pszDomainthe domain of interest. Use "" or NULL for the default domain.
Returns
NULL or a string list.

Reimplemented from GDALProxyRasterBand.

const char * GDALProxyPoolRasterBand::GetMetadataItem ( const char *  pszName,
const char *  pszDomain 
)
virtual

Fetch single metadata item.

The C function GDALGetMetadataItem() does the same thing as this method.

Parameters
pszNamethe key for the metadata item to fetch.
pszDomainthe domain to fetch for, use NULL for the default domain.
Returns
NULL on failure to find the key, or a pointer to an internal copy of the value string on success.

Reimplemented from GDALProxyRasterBand.

GDALRasterBand * GDALProxyPoolRasterBand::GetOverview ( int  i)
virtual

Fetch overview raster band object.

This method is the same as the C function GDALGetOverview().

Parameters
ioverview index between 0 and GetOverviewCount()-1.
Returns
overview GDALRasterBand.

Reimplemented from GDALProxyRasterBand.

GDALRasterBand * GDALProxyPoolRasterBand::GetRasterSampleOverview ( GUIntBig  nDesiredSamples)
virtual

Fetch best sampling overview.

Returns the most reduced overview of the given band that still satisfies the desired number of samples. This function can be used with zero as the number of desired samples to fetch the most reduced overview. The same band as was passed in will be returned if it has not overviews, or if none of the overviews have enough samples.

This method is the same as the C functions GDALGetRasterSampleOverview() and GDALGetRasterSampleOverviewEx().

Parameters
nDesiredSamplesthe returned band will have at least this many pixels.
Returns
optimal overview or the band itself.

Reimplemented from GDALProxyRasterBand.

const char * GDALProxyPoolRasterBand::GetUnitType ( )
virtual

Return raster unit type.

Return a name for the units of this raster's values. For instance, it might be "m" for an elevation model in meters, or "ft" for feet. If no units are available, a value of "" will be returned. The returned string should not be modified, nor freed by the calling application.

This method is the same as the C function GDALGetRasterUnitType().

Returns
unit name string.

Reimplemented from GDALProxyRasterBand.


The documentation for this class was generated from the following files:

Generated for GDAL by doxygen 1.8.8.