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, int, int)
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)
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, int *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::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:
bApproxOK If TRUE statistics may be computed based on overviews or a subset of all tiles.
pdfMin Location into which to load image minimum (may be NULL).
pdfMax Location into which to load image maximum (may be NULL).-
pdfMean Location into which to load image mean (may be NULL).
pdfStdDev Location into which to load image standard deviation (may be NULL).
pfnProgress a function to call to report progress, or NULL.
pProgressData application 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,
int *  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.

    int 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 function GDALGetRasterHistogram().

Parameters:
dfMin the lower bound of the histogram.
dfMax the upper bound of the histogram.
nBuckets the number of buckets in panHistogram.
panHistogram array into which the histogram totals are placed.
bIncludeOutOfRange if 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.
bApproxOK TRUE if an approximate, or incomplete histogram OK.
pfnProgress function to report progress to completion.
pProgressData application 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:
pbSuccess pointer 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:
pszDomain the domain of interest. Use "" or NULL for the default domain.
Returns:
NULL or a string list.

Reimplemented from GDALMajorObject.

char ** VRTSourcedRasterBand::GetMetadataDomainList (  )  [virtual]

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:
pszName the key for the metadata item to fetch.
pszDomain the 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:
pbSuccess pointer 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:
papszMetadataIn the metadata in name=value string list format to apply.
pszDomain the 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:
pszName the key for the metadata item to fetch.
pszValue the value to assign to the key.
pszDomain the 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.1.