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, int, int) |
void | SetPixelFunctionName (const char *pszFuncName) |
void | SetSourceTransferType (GDALDataType eDataType) |
virtual CPLErr | XMLInit (CPLXMLNode *, const char *) |
virtual CPLXMLNode * | SerializeToXML (const char *pszVRTPath) |
![]() | |
VRTSourcedRasterBand (GDALDataset *poDS, int nBand) | |
VRTSourcedRasterBand (GDALDataType eType, int nXSize, int nYSize) | |
VRTSourcedRasterBand (GDALDataset *poDS, int nBand, GDALDataType eType, int nXSize, int nYSize) | |
virtual const char * | GetMetadataItem (const char *pszName, const char *pszDomain="") |
virtual char ** | GetMetadata (const char *pszDomain="") |
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain="") |
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="") |
virtual double | GetMinimum (int *pbSuccess=NULL) |
virtual double | GetMaximum (int *pbSuccess=NULL) |
virtual CPLErr | ComputeRasterMinMax (int bApproxOK, double *adfMinMax) |
virtual CPLErr | ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData) |
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData) |
CPLErr | AddSource (VRTSource *) |
CPLErr | AddSimpleSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1, const char *pszResampling="near", double dfNoDataValue=VRT_NODATA_UNSET) |
CPLErr | AddComplexSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1, double dfScaleOff=0.0, double dfScaleRatio=1.0, double dfNoDataValue=VRT_NODATA_UNSET, int nColorTableComponent=0) |
CPLErr | AddMaskBandSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1) |
CPLErr | AddFuncSource (VRTImageReadFunc pfnReadFunc, void *hCBData, double dfNoDataValue=VRT_NODATA_UNSET) |
virtual CPLErr | IReadBlock (int, int, void *) |
virtual void | GetFileList (char ***ppapszFileList, int *pnSize, int *pnMaxSize, CPLHashSet *hSetFiles) |
virtual int | CloseDependentDatasets () |
virtual int | IsSourcedRasterBand () |
![]() | |
virtual CPLErr | SetNoDataValue (double) |
virtual double | GetNoDataValue (int *pbSuccess=NULL) |
virtual CPLErr | SetColorTable (GDALColorTable *) |
virtual GDALColorTable * | GetColorTable () |
virtual CPLErr | SetColorInterpretation (GDALColorInterp) |
virtual GDALColorInterp | GetColorInterpretation () |
virtual const char * | GetUnitType () |
CPLErr | SetUnitType (const char *) |
virtual char ** | GetCategoryNames () |
virtual CPLErr | SetCategoryNames (char **) |
virtual double | GetOffset (int *pbSuccess=NULL) |
CPLErr | SetOffset (double) |
virtual double | GetScale (int *pbSuccess=NULL) |
CPLErr | SetScale (double) |
virtual int | GetOverviewCount () |
virtual GDALRasterBand * | GetOverview (int) |
virtual CPLErr | GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData) |
virtual CPLErr | SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram) |
CPLErr | CopyCommonInfoFrom (GDALRasterBand *) |
virtual void | SetDescription (const char *) |
virtual GDALRasterBand * | GetMaskBand () |
virtual int | GetMaskFlags () |
virtual CPLErr | CreateMaskBand (int nFlags) |
void | SetMaskBand (VRTRasterBand *poMaskBand) |
void | SetIsMaskBand () |
CPLErr | UnsetNoDataValue () |
Static Public Member Functions | |
static CPLErr | AddPixelFunction (const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc) |
static GDALDerivedPixelFunc | GetPixelFunction (const char *pszFuncName) |
Public Attributes | |
char * | pszFuncName |
GDALDataType | eSourceTransferType |
![]() | |
int | nSources |
VRTSource ** | papoSources |
int | bEqualAreas |
Additional Inherited Members | |
![]() | |
void | Initialize (int nXSize, int nYSize) |
![]() | |
int | bIsMaskBand |
int | bNoDataValueSet |
int | bHideNoDataValue |
double | dfNoDataValue |
GDALColorTable * | poColorTable |
GDALColorInterp | eColorInterp |
char * | pszUnitType |
char ** | papszCategoryNames |
double | dfOffset |
double | dfScale |
CPLXMLNode * | psSavedHistograms |
std::vector< VRTOverviewInfo > | apoOverviews |
VRTRasterBand * | poMaskBand |
|
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()
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. |
|
static |
Get a pixel function previously registered using the global AddPixelFunction.
pszFuncName | The name associated with the pixel function. |
|
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.
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. |
Reimplemented from VRTSourcedRasterBand.
void VRTDerivedRasterBand::SetPixelFunctionName | ( | const char * | pszFuncName | ) |
Set the pixel function name to be applied to this derived band. The name should match a pixel function registered using AddPixelFunction.
pszFuncName | Name of pixel function to be applied to this derived band. |
void VRTDerivedRasterBand::SetSourceTransferType | ( | GDALDataType | eDataType | ) |
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.
eDataType | Data type to use to obtain pixel information from the sources to be passed to the derived band pixel function. |