GDAL
Public Member Functions | Public Attributes
VRTSourcedRasterBand Class Reference
Inheritance diagram for VRTSourcedRasterBand:
VRTRasterBand GDALRasterBand GDALMajorObject VRTDerivedRasterBand

List of all members.

Public Member Functions

 VRTSourcedRasterBand (GDALDataset *poDS, int nBand)
 VRTSourcedRasterBand (GDALDataType eType, int nXSize, int nYSize)
 VRTSourcedRasterBand (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)
virtual char ** GetMetadataDomainList ()
 Fetch list of metadata domains.
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 CPLErr XMLInit (CPLXMLNode *, const char *)
virtual CPLXMLNodeSerializeToXML (const char *pszVRTPath)
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.
virtual CPLErr ComputeRasterMinMax (int bApproxOK, double *adfMinMax)
 Compute the min/max values for a band.
virtual CPLErr ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
 Compute image statistics.
virtual CPLErr GetHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
 Compute raster histogram.
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)
void ConfigureSource (VRTSimpleSource *poSimpleSource, GDALRasterBand *poSrcBand, int bAddAsMaskBand, int nSrcXOff, int nSrcYOff, int nSrcXSize, int nSrcYSize, int nDstXOff, int nDstYOff, int nDstXSize, int nDstYSize)
virtual CPLErr IReadBlock (int, int, void *)
virtual void GetFileList (char ***ppapszFileList, int *pnSize, int *pnMaxSize, CPLHashSet *hSetFiles)
virtual int CloseDependentDatasets ()
virtual int IsSourcedRasterBand ()

Public Attributes

int nSources
VRTSource ** papoSources
int bEqualAreas

Member Function Documentation

CPLErr VRTSourcedRasterBand::ComputeRasterMinMax ( int  ,
double *   
) [virtual]

Compute the min/max values for a band.

If approximate is OK, then the band's GetMinimum()/GetMaximum() will be trusted. If it doesn't work, a subsample of blocks will be read to get an approximate min/max. If the band has a nodata value it will be excluded from the minimum and maximum.

If bApprox is FALSE, then all pixels will be read and used to compute an exact range.

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

Parameters:
bApproxOKTRUE if an approximate (faster) answer is OK, otherwise FALSE.
adfMinMaxthe array in which the minimum (adfMinMax[0]) and the maximum (adfMinMax[1]) are returned.
Returns:
CE_None on success or CE_Failure on failure.

Reimplemented from GDALRasterBand.

CPLErr VRTSourcedRasterBand::ComputeStatistics ( int  bApproxOK,
double *  pdfMin,
double *  pdfMax,
double *  pdfMean,
double *  pdfStdDev,
GDALProgressFunc  pfnProgress,
void *  pProgressData 
) [virtual]

Compute image statistics.

Returns the minimum, maximum, mean and standard deviation of all pixel values in this band. If approximate statistics are sufficient, the bApproxOK flag can be set to true in which case overviews, or a subset of image tiles may be used in computing the statistics.

Once computed, the statistics will generally be "set" back on the raster band using SetStatistics().

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

Parameters:
bApproxOKIf TRUE statistics may be computed based on overviews or a subset of all tiles.
pdfMinLocation into which to load image minimum (may be NULL).
pdfMaxLocation into which to load image maximum (may be NULL).-
pdfMeanLocation into which to load image mean (may be NULL).
pdfStdDevLocation into which to load image standard deviation (may be NULL).
pfnProgressa function to call to report progress, or NULL.
pProgressDataapplication data to pass to the progress function.
Returns:
CE_None on success, or CE_Failure if an error occurs or processing is terminated by the user.

Reimplemented from GDALRasterBand.

CPLErr VRTSourcedRasterBand::GetHistogram ( double  dfMin,
double  dfMax,
int  nBuckets,
GUIntBig *  panHistogram,
int  bIncludeOutOfRange,
int  bApproxOK,
GDALProgressFunc  pfnProgress,
void *  pProgressData 
) [virtual]

Compute raster histogram.

Note that the bucket size is (dfMax-dfMin) / nBuckets.

For example to compute a simple 256 entry histogram of eight bit data, the following would be suitable. The unusual bounds are to ensure that bucket boundaries don't fall right on integer values causing possible errors due to rounding after scaling.

    GUIntBig anHistogram[256];
    poBand->GetHistogram( -0.5, 255.5, 256, anHistogram, FALSE, FALSE, 
                          GDALDummyProgress, NULL );

Note that setting bApproxOK will generally result in a subsampling of the file, and will utilize overviews if available. It should generally produce a representative histogram for the data that is suitable for use in generating histogram based luts for instance. Generally bApproxOK is much faster than an exactly computed histogram.

This method is the same as the C functions GDALGetRasterHistogram() and GDALGetRasterHistogramEx().

Parameters:
dfMinthe lower bound of the histogram.
dfMaxthe upper bound of the histogram.
nBucketsthe number of buckets in panHistogram.
panHistogramarray into which the histogram totals are placed.
bIncludeOutOfRangeif TRUE values below the histogram range will mapped into panHistogram[0], and values above will be mapped into panHistogram[nBuckets-1] otherwise out of range values are discarded.
bApproxOKTRUE if an approximate, or incomplete histogram OK.
pfnProgressfunction to report progress to completion.
pProgressDataapplication data to pass to pfnProgress.
Returns:
CE_None on success, or CE_Failure if something goes wrong.

Reimplemented from VRTRasterBand.

double VRTSourcedRasterBand::GetMaximum ( int *  pbSuccess = NULL) [virtual]

Fetch the maximum value for this band.

For file formats that don't know this intrinsically, the maximum supported value for the data type will generally be returned.

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

Parameters:
pbSuccesspointer to a boolean to use to indicate if the returned value is a tight maximum or not. May be NULL (default).
Returns:
the maximum raster value (excluding no data pixels)

Reimplemented from GDALRasterBand.

char ** VRTSourcedRasterBand::GetMetadata ( const char *  pszDomain = "") [virtual]

Fetch metadata.

The returned string list is owned by the object, and may change at any time. It is formated as a "Name=value" list with the last pointer value being NULL. Use the 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 GDALMajorObject.

Fetch list of metadata domains.

The returned string list is the list of (non-empty) metadata domains.

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

Returns:
NULL or a string list. Must be freed with CSLDestroy()
Since:
GDAL 1.11

Reimplemented from GDALMajorObject.

const char * VRTSourcedRasterBand::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 GDALMajorObject.

double VRTSourcedRasterBand::GetMinimum ( int *  pbSuccess = NULL) [virtual]

Fetch the minimum value for this band.

For file formats that don't know this intrinsically, the minimum supported value for the data type will generally be returned.

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

Parameters:
pbSuccesspointer to a boolean to use to indicate if the returned value is a tight minimum or not. May be NULL (default).
Returns:
the minimum raster value (excluding no data pixels)

Reimplemented from GDALRasterBand.

CPLErr VRTSourcedRasterBand::SetMetadata ( char **  papszMetadataIn,
const char *  pszDomain = "" 
) [virtual]

Set metadata.

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

Parameters:
papszMetadataInthe metadata in name=value string list format to apply.
pszDomainthe domain of interest. Use "" or NULL for the default domain.
Returns:
CE_None on success, CE_Failure on failure and CE_Warning if the metadata has been accepted, but is likely not maintained persistently by the underlying object between sessions.

Reimplemented from VRTRasterBand.

CPLErr VRTSourcedRasterBand::SetMetadataItem ( const char *  pszName,
const char *  pszValue,
const char *  pszDomain = "" 
) [virtual]

Set single metadata item.

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

Parameters:
pszNamethe key for the metadata item to fetch.
pszValuethe value to assign to the key.
pszDomainthe domain to set within, use NULL for the default domain.
Returns:
CE_None on success, or an error code on failure.

Reimplemented from VRTRasterBand.


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

Generated for GDAL by doxygen 1.7.6.1.