GDAL
|
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) |
Read/write a region of image data for this band. | |
void | SetPixelFunctionName (const char *pszFuncName) |
Set the pixel function name to be applied to this derived band. | |
void | SetSourceTransferType (GDALDataType eDataType) |
Set the transfer type to be used to obtain pixel information from all of the sources. | |
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="") |
Fetch single metadata item. | |
virtual char ** | GetMetadata (const char *pszDomain="") |
Fetch metadata. | |
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain="") |
Set metadata. | |
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="") |
Set single metadata item. | |
virtual double | GetMinimum (int *pbSuccess=NULL) |
Fetch the minimum value for this band. | |
virtual double | GetMaximum (int *pbSuccess=NULL) |
Fetch the maximum value for this band. | |
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) |
Set the no data value for this band. | |
virtual double | GetNoDataValue (int *pbSuccess=NULL) |
Fetch the no data value for this band. | |
virtual CPLErr | SetColorTable (GDALColorTable *) |
Set the raster color table. | |
virtual GDALColorTable * | GetColorTable () |
Fetch the color table associated with band. | |
virtual CPLErr | SetColorInterpretation (GDALColorInterp) |
Set color interpretation of a band. | |
virtual GDALColorInterp | GetColorInterpretation () |
How should this band be interpreted as color? | |
virtual const char * | GetUnitType () |
Return raster unit type. | |
CPLErr | SetUnitType (const char *) |
Set unit type. | |
virtual char ** | GetCategoryNames () |
Fetch the list of category names for this raster. | |
virtual CPLErr | SetCategoryNames (char **) |
Set the category names for this band. | |
virtual double | GetOffset (int *pbSuccess=NULL) |
Fetch the raster value offset. | |
CPLErr | SetOffset (double) |
Set scaling offset. | |
virtual double | GetScale (int *pbSuccess=NULL) |
Fetch the raster value scale. | |
CPLErr | SetScale (double) |
Set scaling ratio. | |
virtual int | GetOverviewCount () |
Return the number of overview layers available. | |
virtual GDALRasterBand * | GetOverview (int) |
Fetch overview raster band object. | |
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData) |
Compute raster histogram. | |
virtual CPLErr | GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData) |
Fetch default raster histogram. | |
virtual CPLErr | SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram) |
Set default histogram. | |
CPLErr | CopyCommonInfoFrom (GDALRasterBand *) |
virtual void | SetDescription (const char *) |
Set object description. | |
virtual GDALRasterBand * | GetMaskBand () |
Return the mask band associated with the band. | |
virtual int | GetMaskFlags () |
Return the status flags of the mask band associated with the band. | |
virtual CPLErr | CreateMaskBand (int nFlags) |
Adds a mask band to the current band. | |
void | SetMaskBand (VRTRasterBand *poMaskBand) |
void | SetIsMaskBand () |
CPLErr | UnsetNoDataValue () |
![]() | |
GDALRasterBand () | |
virtual | ~GDALRasterBand () |
int | GetXSize () |
Fetch XSize of raster. | |
int | GetYSize () |
Fetch YSize of raster. | |
int | GetBand () |
Fetch the band number. | |
GDALDataset * | GetDataset () |
Fetch the owning dataset handle. | |
GDALDataType | GetRasterDataType (void) |
Fetch the pixel data type for this band. | |
void | GetBlockSize (int *, int *) |
Fetch the "natural" block size of this band. | |
GDALAccess | GetAccess () |
Find out if we have update permission for this band. | |
CPLErr | RasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int) |
Read/write a region of image data for this band. | |
CPLErr | ReadBlock (int, int, void *) |
Read a block of image data efficiently. | |
CPLErr | WriteBlock (int, int, void *) |
Write a block of image data efficiently. | |
GDALRasterBlock * | GetLockedBlockRef (int nXBlockOff, int nYBlockOff, int bJustInitialize=FALSE) |
Fetch a pointer to an internally cached raster block. | |
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. | |
virtual CPLErr | FlushCache () |
Flush raster data cache. | |
virtual CPLErr | Fill (double dfRealValue, double dfImaginaryValue=0) |
Fill this band with a constant value. | |
virtual CPLErr | GetStatistics (int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev) |
Fetch image statistics. | |
virtual CPLErr | ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData) |
Compute image statistics. | |
virtual CPLErr | SetStatistics (double dfMin, double dfMax, double dfMean, double dfStdDev) |
Set statistics on band. | |
virtual CPLErr | ComputeRasterMinMax (int, double *) |
Compute the min/max values for a band. | |
virtual int | HasArbitraryOverviews () |
Check for arbitrary overviews. | |
virtual GDALRasterBand * | GetRasterSampleOverview (int) |
Fetch best sampling overview. | |
virtual CPLErr | BuildOverviews (const char *, int, int *, GDALProgressFunc, void *) |
Build raster overview(s) | |
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. | |
virtual const GDALRasterAttributeTable * | GetDefaultRAT () |
Fetch default Raster Attribute Table. | |
virtual CPLErr | SetDefaultRAT (const GDALRasterAttributeTable *) |
Set default Raster Attribute Table. | |
void | ReportError (CPLErr eErrClass, int err_no, const char *fmt,...) CPL_PRINT_FUNC_FORMAT(4 |
Emits an error related to a raster band. | |
![]() | |
int | GetMOFlags () |
void | SetMOFlags (int nFlags) |
virtual const char * | GetDescription () const |
Fetch object description. |
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. | |
static GDALDerivedPixelFunc | GetPixelFunction (const char *pszFuncName) |
Get a pixel function previously registered using the global AddPixelFunction. |
Public Attributes | |
char * | pszFuncName |
GDALDataType | eSourceTransferType |
![]() | |
int | nSources |
VRTSource ** | papoSources |
int | bEqualAreas |
|
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. |
References GDALAddDerivedBandPixelFunc().
|
static |
Get a pixel function previously registered using the global AddPixelFunction.
pszFuncName | The name associated with the pixel function. |
Referenced by IRasterIO().
|
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.
References GDALCopyWords(), GDALGetDataTypeSize(), GDT_Float64, GDT_Unknown, VRTRasterBand::GetOverviewCount(), GetPixelFunction(), and GF_Write.
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. |
Referenced by VRTDataset::AddBand().
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. |
Referenced by VRTDataset::AddBand().