GDAL
Public Member Functions | Protected Member Functions | List of all members
GDALAllValidMaskBand Class Reference
Inheritance diagram for GDALAllValidMaskBand:
GDALRasterBand GDALMajorObject

Public Member Functions

 GDALAllValidMaskBand (GDALRasterBand *)
 
virtual GDALRasterBandGetMaskBand ()
 Return the mask band associated with the band. More...
 
virtual int GetMaskFlags ()
 Return the status flags of the mask band associated with the band. More...
 
- Public Member Functions inherited from GDALRasterBand
 GDALRasterBand ()
 
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, int, int)
 Read/write a region of image data for this band. More...
 
CPLErr ReadBlock (int, int, void *)
 Read a block of image data efficiently. More...
 
CPLErr WriteBlock (int, int, void *)
 Write a block of image data efficiently. More...
 
GDALRasterBlockGetLockedBlockRef (int nXBlockOff, int nYBlockOff, int bJustInitialize=FALSE)
 Fetch a pointer to an internally cached raster block. More...
 
CPLErr FlushBlock (int=-1, int=-1, int bWriteDirtyBlock=TRUE)
 
unsigned char * GetIndexColorTranslationTo (GDALRasterBand *poReferenceBand, unsigned char *pTranslationTable=NULL, int *pApproximateMatching=NULL)
 Compute translation table for color tables. More...
 
virtual CPLErr FlushCache ()
 Flush raster data cache. More...
 
virtual char ** GetCategoryNames ()
 Fetch the list of category names for this raster. 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 const char * GetUnitType ()
 Return raster unit type. More...
 
virtual GDALColorInterp GetColorInterpretation ()
 How should this band be interpreted as color? More...
 
virtual GDALColorTableGetColorTable ()
 Fetch the color table associated with band. 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 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 GDALRasterBandGetOverview (int)
 Fetch overview raster band object. More...
 
virtual GDALRasterBandGetRasterSampleOverview (int)
 Fetch best sampling overview. 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, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
 Compute raster histogram. More...
 
virtual CPLErr GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
 Fetch default raster histogram. More...
 
virtual CPLErr SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, int *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 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...
 
void ReportError (CPLErr eErrClass, int 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 nFlags)
 
virtual const char * GetDescription () const
 Fetch object description. More...
 
virtual void SetDescription (const char *)
 Set object description. More...
 
virtual char ** GetMetadataDomainList ()
 Fetch list of metadata domains. More...
 
virtual char ** GetMetadata (const char *pszDomain="")
 Fetch metadata. More...
 
virtual CPLErr SetMetadata (char **papszMetadata, const char *pszDomain="")
 Set metadata. More...
 
virtual const char * GetMetadataItem (const char *pszName, const char *pszDomain="")
 Fetch single metadata item. More...
 
virtual CPLErr SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="")
 Set single metadata item. More...
 

Protected Member Functions

virtual CPLErr IReadBlock (int, int, void *)
 
- Protected Member Functions inherited from GDALRasterBand
void InvalidateMaskBand ()
 
virtual CPLErr IWriteBlock (int, int, void *)
 
virtual CPLErr IRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int)
 
CPLErr OverviewRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int)
 
int InitBlockInfo ()
 
CPLErr AdoptBlock (int, int, GDALRasterBlock *)
 
GDALRasterBlockTryGetLockedBlockRef (int nXBlockOff, int nYBlockYOff)
 Try fetching block ref. More...
 
- Protected Member Functions inherited from GDALMajorObject
char ** BuildMetadataDomainList (char **papszList, int bCheckNonEmpty,...) CPL_NULL_TERMINATED
 Helper function for custom implementations of GetMetadataDomainList() More...
 

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 bSubBlockingActive
 
int nSubBlocksPerRow
 
int nSubBlocksPerColumn
 
GDALRasterBlock ** papoBlocks
 
int nBlockReads
 
int bForceCachedIO
 
GDALRasterBandpoMask
 
bool bOwnMask
 
int nMaskFlags
 
- Protected Attributes inherited from GDALMajorObject
int nFlags
 
CPLString sDescription
 
GDALMultiDomainMetadata oMDMD
 

Member Function Documentation

GDALRasterBand * GDALAllValidMaskBand::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 GDALRasterBand.

int GDALAllValidMaskBand::GetMaskFlags ( )
virtual

Return the status flags of the mask band associated with the band.

The GetMaskFlags() method returns an bitwise OR-ed set of status flags with the following available definitions that may be extended in the future:

  • GMF_ALL_VALID(0x01): There are no invalid pixels, all mask values will be 255. When used this will normally be the only flag set.
  • GMF_PER_DATASET(0x02): The mask band is shared between all bands on the dataset.
  • GMF_ALPHA(0x04): The mask band is actually an alpha band and may have values other than 0 and 255.
  • GMF_NODATA(0x08): Indicates the mask is actually being generated from nodata values. (mutually exclusive of GMF_ALPHA)

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.

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

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

Reimplemented from GDALRasterBand.


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

Generated for GDAL by doxygen 1.8.11.