GDAL

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
VRTDerivedRasterBand Class Reference
Inheritance diagram for VRTDerivedRasterBand:

## Public Member Functions
| VRTDerivedRasterBand (GDALDataset *poDS, int nBand)
| VRTDerivedRasterBand (GDALDataset *poDS, int nBand, GDALDataType eType, int nXSize, int nYSize)
virtual CPLErr | IRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg)
| Read/write a region of image data for this band. More...
void | SetPixelFunctionName (const char *pszFuncName)
| Set the pixel function name to be applied to this derived band. More...
void | SetSourceTransferType (GDALDataType eDataType)
| Set the transfer type to be used to obtain pixel information from all of the sources. More...
virtual CPLErr | XMLInit (CPLXMLNode *, const char *)
virtual CPLXMLNode * | SerializeToXML (const char *pszVRTPath)
Public Member Functions inherited from VRTSourcedRasterBand
| VRTSourcedRasterBand (GDALDataset *poDS, int nBand)
| VRTSourcedRasterBand (GDALDataType eType, int nXSize, int nYSize)
| VRTSourcedRasterBand (GDALDataset *poDS, int nBand, GDALDataType eType, int nXSize, int nYSize)
virtual int | IGetDataCoverageStatus (int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
virtual char ** | GetMetadataDomainList ()
| Fetch list of metadata domains. More...
virtual const char * | GetMetadataItem (const char *pszName, const char *pszDomain="")
| Fetch single metadata item. More...
virtual char ** | GetMetadata (const char *pszDomain="")
| Fetch metadata. 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 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 CPLErr | ComputeRasterMinMax (int bApproxOK, double *adfMinMax)
| Compute the min/max values for a band. More...
virtual CPLErr | ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
| Compute image statistics. More...
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
| Compute raster histogram. More...
CPLErr | AddSource (VRTSource *)
CPLErr | AddSimpleSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1, const char *pszResampling="near", double dfNoDataValue=VRT_NODATA_UNSET)
CPLErr | AddComplexSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1, double dfScaleOff=0.0, double dfScaleRatio=1.0, double dfNoDataValue=VRT_NODATA_UNSET, int nColorTableComponent=0)
CPLErr | AddMaskBandSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1)
CPLErr | AddFuncSource (VRTImageReadFunc pfnReadFunc, void *hCBData, double dfNoDataValue=VRT_NODATA_UNSET)
void | ConfigureSource (VRTSimpleSource *poSimpleSource, GDALRasterBand *poSrcBand, int bAddAsMaskBand, double dfSrcXOff, double dfSrcYOff, double dfSrcXSize, double dfSrcYSize, double dfDstXOff, double dfDstYOff, double dfDstXSize, double dfDstYSize)
virtual CPLErr | IReadBlock (int, int, void *)
virtual void | GetFileList (char ***ppapszFileList, int *pnSize, int *pnMaxSize, CPLHashSet *hSetFiles)
virtual int | CloseDependentDatasets ()
virtual int | IsSourcedRasterBand ()
Public Member Functions inherited from VRTRasterBand
virtual CPLErr | SetNoDataValue (double)
| Set the no data value for this band. More...
virtual double | GetNoDataValue (int *pbSuccess=NULL)
| Fetch 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 GDALColorTable * | GetColorTable ()
| Fetch the color table associated with band. More...
virtual CPLErr | SetColorInterpretation (GDALColorInterp)
| Set color interpretation of a band. More...
virtual GDALColorInterp | GetColorInterpretation ()
| How should this band be interpreted as color? More...
virtual const char * | GetUnitType ()
| Return raster unit type. More...
CPLErr | SetUnitType (const char *)
| Set unit type. More...
virtual char ** | GetCategoryNames ()
| Fetch the list of category names for this raster. More...
virtual CPLErr | SetCategoryNames (char **)
| Set the category names for this band. More...
virtual double | GetOffset (int *pbSuccess=NULL)
| Fetch the raster value offset. More...
CPLErr | SetOffset (double)
| Set scaling offset. More...
virtual double | GetScale (int *pbSuccess=NULL)
| Fetch the raster value scale. More...
CPLErr | SetScale (double)
| Set scaling ratio. More...
virtual int | GetOverviewCount ()
| Return the number of overview layers available. More...
virtual GDALRasterBand * | GetOverview (int)
| Fetch overview raster band object. 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...
CPLErr | CopyCommonInfoFrom (GDALRasterBand *)
virtual void | SetDescription (const char *)
| Set object description. More...
virtual GDALRasterBand * | GetMaskBand ()
| 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...
virtual CPLErr | CreateMaskBand (int nFlags)
| Adds a mask band to the current band. More...
void | SetMaskBand (VRTRasterBand *poMaskBand)
void | SetIsMaskBand ()
CPLErr | UnsetNoDataValue ()
virtual int | IsPansharpenRasterBand ()
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...
GDALDataset * | GetDataset ()
| 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...
GDALRasterBlock * | GetLockedBlockRef (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...
virtual CPLErr | FlushCache ()
| Flush raster data cache. More...
virtual CPLErr | Fill (double dfRealValue, double dfImaginaryValue=0)
| Fill this band with a constant value. More...
virtual CPLErr | GetStatistics (int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
| Fetch image statistics. More...
virtual CPLErr | SetStatistics (double dfMin, double dfMax, double dfMean, double dfStdDev)
| Set statistics on band. More...
virtual int | HasArbitraryOverviews ()
| Check for arbitrary overviews. More...
virtual GDALRasterBand * | GetRasterSampleOverview (GUIntBig)
| 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 GDALRasterAttributeTable * | GetDefaultRAT ()
| Fetch default Raster Attribute Table. More...
virtual CPLErr | SetDefaultRAT (const GDALRasterAttributeTable *)
| Set default Raster Attribute Table. More...
virtual CPLVirtualMem * | GetVirtualMemAuto (GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
| Create a CPLVirtualMem object from a GDAL raster band object. More...
int | GetDataCoverageStatus (int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop=0, double *pdfDataPct=NULL)
| Get the coverage status of a sub-window of the raster. 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 () const
void | SetMOFlags (int nFlagsIn)
virtual const char * | GetDescription () const
| Fetch object description. More...

## Static Public Member Functions
static CPLErr | AddPixelFunction (const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc)
| This adds a pixel function to the global list of available pixel functions for derived bands. More...
static GDALDerivedPixelFunc | GetPixelFunction (const char *pszFuncName)
| Get a pixel function previously registered using the global AddPixelFunction. More...

## Public Attributes
char * | pszFuncName
GDALDataType | eSourceTransferType
Public Attributes inherited from VRTSourcedRasterBand
int | nSources
VRTSource ** | papoSources
int | bSkipBufferInitialization

## Additional Inherited Members
Protected Member Functions inherited from VRTRasterBand
void | Initialize (int nXSize, int nYSize)
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 ()
virtual CPLErr | IWriteBlock (int, int, void *)
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 ()
GDALRasterBlock * | TryGetLockedBlockRef (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...
Protected Attributes inherited from VRTRasterBand
int | m_bIsMaskBand
int | m_bNoDataValueSet
int | m_bHideNoDataValue
double | m_dfNoDataValue
GDALColorTable * | m_poColorTable
GDALColorInterp | m_eColorInterp
char * | m_pszUnitType
char ** | m_papszCategoryNames
double | m_dfOffset
double | m_dfScale
CPLXMLNode * | m_psSavedHistograms
std::vector< VRTOverviewInfo > | m_apoOverviews
VRTRasterBand * | m_poMaskBand
Protected Attributes inherited from GDALRasterBand
GDALDataset * | poDS
int | nBand
int | nRasterXSize
int | nRasterYSize
GDALDataType | eDataType
GDALAccess | eAccess
int | nBlockXSize
int | nBlockYSize
int | nBlocksPerRow
int | nBlocksPerColumn
int | nBlockReads
int | bForceCachedIO
GDALRasterBand * | poMask
bool | bOwnMask
int | nMaskFlags
Protected Attributes inherited from GDALMajorObject
int | nFlags
CPLString | sDescription
GDALMultiDomainMetadata | oMDMD

## Member Function Documentation

CPLErr VRTDerivedRasterBand::AddPixelFunction | ( | const char * | pszFuncName,
|  | GDALDerivedPixelFunc | pfnNewFunction
| ) |  |
| static

This adds a pixel function to the global list of available pixel functions for derived bands.

This is the same as the c function GDALAddDerivedBandPixelFunc()

Parameters

  pszFuncName | Name used to access pixel function
  pfnNewFunction | Pixel function associated with name. An existing pixel function registered with the same name will be replaced with the new one.

Returns
  CE_None, invalid (NULL) parameters are currently ignored.

GDALDerivedPixelFunc VRTDerivedRasterBand::GetPixelFunction | ( | const char * | pszFuncName | ) |
| static

Get a pixel function previously registered using the global AddPixelFunction.

Parameters

  pszFuncName | The name associated with the pixel function.

Returns
  A derived band pixel function, or NULL if none have been registered for pszFuncName.

CPLErr VRTDerivedRasterBand::IRasterIO | ( | GDALRWFlag | eRWFlag,
|  | int | nXOff,
|  | int | nYOff,
|  | int | nXSize,
|  | int | nYSize,
|  | void * | pData,
|  | int | nBufXSize,
|  | int | nBufYSize,
|  | GDALDataType | eBufType,
|  | GSpacing | nPixelSpace,
|  | GSpacing | nLineSpace,
|  | GDALRasterIOExtraArg * | psExtraArg
| ) |  |
| virtual

Read/write a region of image data for this band.

Each of the sources for this derived band will be read and passed to the derived band pixel function. The pixel function is responsible for applying whatever algorithm is necessary to generate this band's pixels from the sources.

The sources will be read using the transfer type specified for sources using SetSourceTransferType(). If no transfer type has been set for this derived band, the band's data type will be used as the transfer type.

See also
  gdalrasterband

Parameters

  eRWFlag | Either GF_Read to read a region of data, or GT_Write to write a region of data.
  nXOff | The pixel offset to the top left corner of the region of the band to be accessed. This would be zero to start from the left side.
  nYOff | The line offset to the top left corner of the region of the band to be accessed. This would be zero to start from the top.
  nXSize | The width of the region of the band to be accessed in pixels.
  nYSize | The height of the region of the band to be accessed in lines.
  pData | The buffer into which the data should be read, or from which it should be written. This buffer must contain at least nBufXSize * nBufYSize words of type eBufType. It is organized in left to right, top to bottom pixel order. Spacing is controlled by the nPixelSpace, and nLineSpace parameters.
  nBufXSize | The width of the buffer image into which the desired region is to be read, or from which it is to be written.
  nBufYSize | The height of the buffer image into which the desired region is to be read, or from which it is to be written.
  eBufType | The type of the pixel values in the pData data buffer. The pixel values will automatically be translated to/from the GDALRasterBand data type as needed.
  nPixelSpace | The byte offset from the start of one pixel value in pData to the start of the next pixel value within a scanline. If defaulted (0) the size of the datatype eBufType is used.
  nLineSpace | The byte offset from the start of one scanline in pData to the start of the next. If defaulted the size of the datatype eBufType * nBufXSize is used.

Returns
  CE_Failure if the access fails, otherwise CE_None.

Reimplemented from VRTSourcedRasterBand.

void VRTDerivedRasterBand::SetPixelFunctionName | ( | const char * | pszFuncNameIn | ) |

Set the pixel function name to be applied to this derived band.

The name should match a pixel function registered using AddPixelFunction.

Parameters

  pszFuncName | Name of pixel function to be applied to this derived band.

void VRTDerivedRasterBand::SetSourceTransferType | ( | GDALDataType | eDataTypeIn | ) |

Set the transfer type to be used to obtain pixel information from all of the sources.

If unset, the transfer type used will be the same as the derived band data type. This makes it possible, for example, to pass CFloat32 source pixels to the pixel function, even if the pixel function generates a raster for a derived band that is of type Byte.

Parameters

  eDataType | Data type to use to obtain pixel information from the sources to be passed to the derived band pixel function.

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

- vrtdataset.h
- vrtderivedrasterband.cpp

Generated for GDAL by 1.8.8.