Public Member Functions | Protected Member Functions

# GDALProxyRasterBand Class Reference

Inheritance diagram for GDALProxyRasterBand:

List of all members.

## Public Member Functions
virtual char ** | GetMetadataDomainList ()
| Fetch list of metadata domains.
virtual char ** | GetMetadata (const char *pszDomain)
| Fetch metadata.
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain)
| Set metadata.
virtual const char * | GetMetadataItem (const char *pszName, const char *pszDomain)
| Fetch single metadata item.
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain)
| Set single metadata item.
virtual CPLErr | FlushCache ()
| Flush raster data cache.
virtual char ** | GetCategoryNames ()
| Fetch the list of category names for this raster.
virtual double | GetNoDataValue (int *pbSuccess=NULL)
| Fetch the no data value for this band.
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 double | GetOffset (int *pbSuccess=NULL)
| Fetch the raster value offset.
virtual double | GetScale (int *pbSuccess=NULL)
| Fetch the raster value scale.
virtual const char * | GetUnitType ()
| Return raster unit type.
virtual GDALColorInterp | GetColorInterpretation ()
| How should this band be interpreted as color?
virtual GDALColorTable * | GetColorTable ()
| Fetch the color table associated with band.
virtual CPLErr | Fill (double dfRealValue, double dfImaginaryValue=0)
| Fill this band with a constant value.
virtual CPLErr | SetCategoryNames (char **)
virtual CPLErr | SetNoDataValue (double)
virtual CPLErr | SetColorTable (GDALColorTable *)
| Set the raster color table.
virtual CPLErr | SetColorInterpretation (GDALColorInterp)
| Set color interpretation of a band.
virtual CPLErr | SetOffset (double)
virtual CPLErr | SetScale (double)
virtual CPLErr | SetUnitType (const char *)
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 *)
virtual int | HasArbitraryOverviews ()
| Check for arbitrary overviews.
virtual int | GetOverviewCount ()
| Return the number of overview layers available.
virtual GDALRasterBand * | GetOverview (int)
| Fetch overview raster band object.
virtual GDALRasterBand * | GetRasterSampleOverview (GUIntBig)
| 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)
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
| Compute raster histogram.
virtual CPLErr | GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
| Fetch default raster histogram.
virtual CPLErr | SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
virtual GDALRasterAttributeTable * | GetDefaultRAT ()
| Fetch default Raster Attribute Table.
virtual CPLErr | SetDefaultRAT (const GDALRasterAttributeTable *)
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.
virtual CPLVirtualMem * | GetVirtualMemAuto (GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions)
| Create a CPLVirtualMem object from a GDAL raster band object.
## Protected Member Functions
virtual GDALRasterBand * | RefUnderlyingRasterBand ()=0
virtual void | UnrefUnderlyingRasterBand (GDALRasterBand *poUnderlyingRasterBand)
virtual CPLErr | IReadBlock (int, int, void *)
virtual CPLErr | IWriteBlock (int, int, void *)
virtual CPLErr | IRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg)

## Member Function Documentation

virtual CPLErr GDALProxyRasterBand::BuildOverviews | ( | const char * | pszResampling,
|  | int | nOverviews,
|  | int * | panOverviewList,
|  | GDALProgressFunc | pfnProgress,
|  | void * | pProgressData |
| ) |  |  | `[virtual]`

Build raster overview(s).

If the operation is unsupported for the indicated dataset, then CE_Failure is returned, and CPLGetLastErrorNo() will return CPLE_NotSupported.

WARNING: It is not possible to build overviews for a single band in TIFF format, and thus this method does not work for TIFF format, or any formats that use the default overview building in TIFF format. Instead it is necessary to build overviews on the dataset as a whole using GDALDataset::BuildOverviews(). That makes this method pretty useless from a practical point of view.

Parameters:

  | pszResampling | one of "NEAREST", "GAUSS", "CUBIC", "AVERAGE", "MODE", "AVERAGE_MAGPHASE" or "NONE" controlling the downsampling method applied.
  | nOverviews | number of overviews to build.
  | panOverviewList | the list of overview decimation factors to build.
  | 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 the operation doesn't work.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::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.

virtual CPLErr GDALProxyRasterBand::CreateMaskBand | ( | int | nFlags | ) | `[virtual]`

Adds a mask band to the current band.

The default implementation of the CreateMaskBand() method is implemented based on similar rules to the .ovr handling implemented using the GDALDefaultOverviews object. A TIFF file with the extension .msk will be created with the same basename as the original file, and it will have as many bands as the original image (or just one for GMF_PER_DATASET). The mask images will be deflate compressed tiled images with the same block size as the original image if possible.

Note that if you got a mask band with a previous call to GetMaskBand(), it might be invalidated by CreateMaskBand(). So you have to call GetMaskBand() again.

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

Since:
  GDAL 1.5.0

Returns:
  CE_None on success or CE_Failure on an error.

See also:
  http://trac.osgeo.org/gdal/wiki/rfc15_nodatabitmask

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::Fill | ( | double | dfRealValue,
|  | double | dfImaginaryValue = `0` |
| ) |  |  | `[virtual]`

Fill this band with a constant value.

GDAL makes no guarantees about what values pixels in newly created files are set to, so this method can be used to clear a band to a specified "default" value. The fill value is passed in as a double but this will be converted to the underlying type before writing to the file. An optional second argument allows the imaginary component of a complex constant value to be specified.

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

Parameters:

  | dfRealValue | Real component of fill value
  | dfImaginaryValue | Imaginary component of fill value, defaults to zero

Returns:
  CE_Failure if the write fails, otherwise CE_None

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::FlushCache | ( | void |  | ) | `[virtual]`

Flush raster data cache.

This call will recover memory used to cache data blocks for this raster band, and ensure that new requests are referred to the underlying driver.

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

Returns:
  CE_None on success.

Reimplemented from GDALRasterBand.

virtual char** GDALProxyRasterBand::GetCategoryNames | ( |  | ) | `[virtual]`

Fetch the list of category names for this raster.

The return list is a "StringList" in the sense of the CPL functions. That is a NULL terminated array of strings. Raster values without associated names will have an empty string in the returned list. The first entry in the list is for raster values of zero, and so on.

The returned stringlist should not be altered or freed by the application. It may change on the next GDAL call, so please copy it if it is needed for any period of time.

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

Returns:
  list of names, or NULL if none.

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual GDALColorInterp GDALProxyRasterBand::GetColorInterpretation | ( |  | ) | `[virtual]`

How should this band be interpreted as color?

GCI_Undefined is returned when the format doesn't know anything about the color interpretation.

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

Returns:
  color interpretation value for band.

Reimplemented from GDALRasterBand.

virtual GDALColorTable* GDALProxyRasterBand::GetColorTable | ( |  | ) | `[virtual]`

Fetch the color table associated with band.

If there is no associated color table, the return result is NULL. The returned color table remains owned by the GDALRasterBand, and can't be depended on for long, nor should it ever be modified by the caller.

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

Returns:
  internal color table, or NULL.

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual CPLErr GDALProxyRasterBand::GetDefaultHistogram | ( | double * | pdfMin,
|  | double * | pdfMax,
|  | int * | pnBuckets,
|  | GUIntBig ** | ppanHistogram,
|  | int | bForce,
|  | GDALProgressFunc | pfnProgress,
|  | void * | pProgressData |
| ) |  |  | `[virtual]`

Fetch default raster histogram.

The default method in GDALRasterBand will compute a default histogram. This method is overriden by derived classes (such as GDALPamRasterBand, VRTDataset, HFADataset...) that may be able to fetch efficiently an already stored histogram.

This method is the same as the C functions GDALGetDefaultHistogram() and GDALGetDefaultHistogramEx().

Parameters:

  | pdfMin | pointer to double value that will contain the lower bound of the histogram.
  | pdfMax | pointer to double value that will contain the upper bound of the histogram.
  | pnBuckets | pointer to int value that will contain the number of buckets in *ppanHistogram.
  | ppanHistogram | pointer to array into which the histogram totals are placed. To be freed with VSIFree
  | bForce | TRUE to force the computation. If FALSE and no default histogram is available, the method will return CE_Warning
  | pfnProgress | function to report progress to completion.
  | pProgressData | application data to pass to pfnProgress.

Returns:
  CE_None on success, CE_Failure if something goes wrong, or CE_Warning if no default histogram is available.

Reimplemented from GDALRasterBand.

virtual GDALRasterAttributeTable* GDALProxyRasterBand::GetDefaultRAT | ( |  | ) | `[virtual]`

Fetch default Raster Attribute Table.

A RAT will be returned if there is a default one associated with the band, otherwise NULL is returned. The returned RAT is owned by the band and should not be deleted by the application.

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

Returns:
  NULL, or a pointer to an internal RAT owned by the band.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::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:

  | 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 GDALRasterBand.

virtual GDALRasterBand* GDALProxyRasterBand::GetMaskBand | ( |  | ) | `[virtual]`

Return the mask band associated with the band.

The GDALRasterBand class includes a default implementation of GetMaskBand() that returns one of four default implementations :

- If a corresponding .msk file exists it will be used for the mask band.
- If the dataset has a NODATA_VALUES metadata item, an instance of the new GDALNoDataValuesMaskBand class will be returned. GetMaskFlags() will return GMF_NODATA | GMF_PER_DATASET.
  Since:
    GDAL 1.6.0
- If the band has a nodata value set, an instance of the new GDALNodataMaskRasterBand class will be returned. GetMaskFlags() will return GMF_NODATA.
- If there is no nodata value, but the dataset has an alpha band that seems to apply to this band (specific rules yet to be determined) and that is of type GDT_Byte then that alpha band will be returned, and the flags GMF_PER_DATASET and GMF_ALPHA will be returned in the flags.
- If neither of the above apply, an instance of the new GDALAllValidRasterBand class will be returned that has 255 values for all pixels. The null flags will return GMF_ALL_VALID.

Note that the GetMaskBand() should always return a GDALRasterBand mask, even if it is only an all 255 mask with the flags indicating GMF_ALL_VALID.

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

Returns:
  a valid mask band.

Since:
  GDAL 1.5.0

See also:
  http://trac.osgeo.org/gdal/wiki/rfc15_nodatabitmask

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual int GDALProxyRasterBand::GetMaskFlags | ( |  | ) | `[virtual]`

Return the status flags of the mask band associated with the band.

The GetMaskFlags() method returns an bitwise OR-ed set of status flags with the following available definitions that may be extended in the future:

- GMF_ALL_VALID(0x01): There are no invalid pixels, all mask values will be 255. When used this will normally be the only flag set.
- GMF_PER_DATASET(0x02): The mask band is shared between all bands on the dataset.
- GMF_ALPHA(0x04): The mask band is actually an alpha band and may have values other than 0 and 255.
- GMF_NODATA(0x08): Indicates the mask is actually being generated from nodata values. (mutually exclusive of GMF_ALPHA)

The GDALRasterBand class includes a default implementation of GetMaskBand() that returns one of four default implementations :

- If a corresponding .msk file exists it will be used for the mask band.
- If the dataset has a NODATA_VALUES metadata item, an instance of the new GDALNoDataValuesMaskBand class will be returned. GetMaskFlags() will return GMF_NODATA | GMF_PER_DATASET.
  Since:
    GDAL 1.6.0
- If the band has a nodata value set, an instance of the new GDALNodataMaskRasterBand class will be returned. GetMaskFlags() will return GMF_NODATA.
- If there is no nodata value, but the dataset has an alpha band that seems to apply to this band (specific rules yet to be determined) and that is of type GDT_Byte then that alpha band will be returned, and the flags GMF_PER_DATASET and GMF_ALPHA will be returned in the flags.
- If neither of the above apply, an instance of the new GDALAllValidRasterBand class will be returned that has 255 values for all pixels. The null flags will return GMF_ALL_VALID.

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

Since:
  GDAL 1.5.0

Returns:
  a valid mask band.

See also:
  http://trac.osgeo.org/gdal/wiki/rfc15_nodatabitmask

Reimplemented from GDALRasterBand.

virtual double GDALProxyRasterBand::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.

virtual char** GDALProxyRasterBand::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.

Reimplemented in GDALProxyPoolRasterBand.

virtual char** GDALProxyRasterBand::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.

virtual const char* GDALProxyRasterBand::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.

Reimplemented in GDALProxyPoolRasterBand.

virtual double GDALProxyRasterBand::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.

virtual double GDALProxyRasterBand::GetNoDataValue | ( | int * | pbSuccess = `NULL` | ) | `[virtual]`

Fetch the no data value for this band.

If there is no out of data value, an out of range value will generally be returned. The no data value for a band is generally a special marker value used to mark pixels that are not valid data. Such pixels should generally not be displayed, nor contribute to analysis operations.

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

Parameters:

  | pbSuccess | pointer to a boolean to use to indicate if a value is actually associated with this layer. May be NULL (default).

Returns:
  the nodata value for this band.

Reimplemented from GDALRasterBand.

virtual double GDALProxyRasterBand::GetOffset | ( | int * | pbSuccess = `NULL` | ) | `[virtual]`

Fetch the raster value offset.

This value (in combination with the GetScale() value) is used to transform raw pixel values into the units returned by GetUnits(). For example this might be used to store elevations in GUInt16 bands with a precision of 0.1, and starting from -100.

Units value = (raw value * scale) + offset

For file formats that don't know this intrinsically a value of zero is returned.

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

Parameters:

  | pbSuccess | pointer to a boolean to use to indicate if the returned value is meaningful or not. May be NULL (default).

Returns:
  the raster offset.

Reimplemented from GDALRasterBand.

virtual GDALRasterBand* GDALProxyRasterBand::GetOverview | ( | int | i | ) | `[virtual]`

Fetch overview raster band object.

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

Parameters:

  | i | overview index between 0 and GetOverviewCount()-1.

Returns:
  overview GDALRasterBand.

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual int GDALProxyRasterBand::GetOverviewCount | ( |  | ) | `[virtual]`

Return the number of overview layers available.

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

Returns:
  overview count, zero if none.

Reimplemented from GDALRasterBand.

virtual GDALRasterBand* GDALProxyRasterBand::GetRasterSampleOverview | ( | GUIntBig | nDesiredSamples | ) | `[virtual]`

Fetch best sampling overview.

Returns the most reduced overview of the given band that still satisfies the desired number of samples. This function can be used with zero as the number of desired samples to fetch the most reduced overview. The same band as was passed in will be returned if it has not overviews, or if none of the overviews have enough samples.

This method is the same as the C functions GDALGetRasterSampleOverview() and GDALGetRasterSampleOverviewEx().

Parameters:

  | nDesiredSamples | the returned band will have at least this many pixels.

Returns:
  optimal overview or the band itself.

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual double GDALProxyRasterBand::GetScale | ( | int * | pbSuccess = `NULL` | ) | `[virtual]`

Fetch the raster value scale.

This value (in combination with the GetOffset() value) is used to transform raw pixel values into the units returned by GetUnits(). For example this might be used to store elevations in GUInt16 bands with a precision of 0.1, and starting from -100.

Units value = (raw value * scale) + offset

For file formats that don't know this intrinsically a value of one is returned.

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

Parameters:

  | pbSuccess | pointer to a boolean to use to indicate if the returned value is meaningful or not. May be NULL (default).

Returns:
  the raster scale.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::GetStatistics | ( | int | bApproxOK,
|  | int | bForce,
|  | double * | pdfMin,
|  | double * | pdfMax,
|  | double * | pdfMean,
|  | double * | pdfStdDev |
| ) |  |  | `[virtual]`

Fetch 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.

If bForce is FALSE results will only be returned if it can be done quickly (ie. without scanning the data). If bForce is FALSE and results cannot be returned efficiently, the method will return CE_Warning but no warning will have been issued. This is a non-standard use of the CE_Warning return value to indicate "nothing done".

Note that file formats using PAM (Persistent Auxiliary Metadata) services will generally cache statistics in the .pam file allowing fast fetch after the first request.

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

Parameters:

  | bApproxOK | If TRUE statistics may be computed based on overviews or a subset of all tiles.
  | bForce | If FALSE statistics will only be returned if it can be done without rescanning the image.
  | 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).

Returns:
  CE_None on success, CE_Warning if no values returned, CE_Failure if an error occurs.

Reimplemented from GDALRasterBand.

virtual const char* GDALProxyRasterBand::GetUnitType | ( |  | ) | `[virtual]`

Return raster unit type.

Return a name for the units of this raster's values. For instance, it might be "m" for an elevation model in meters, or "ft" for feet. If no units are available, a value of "" will be returned. The returned string should not be modified, nor freed by the calling application.

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

Returns:
  unit name string.

Reimplemented from GDALRasterBand.

Reimplemented in GDALProxyPoolRasterBand.

virtual CPLVirtualMem* GDALProxyRasterBand::GetVirtualMemAuto | ( | GDALRWFlag | eRWFlag,
|  | int * | pnPixelSpace,
|  | GIntBig * | pnLineSpace,
|  | char ** | papszOptions |
| ) |  |  | `[virtual]`

Create a CPLVirtualMem object from a GDAL raster band object.

Only supported on Linux for now.

This method allows creating a virtual memory object for a GDALRasterBand, that exposes the whole image data as a virtual array.

The default implementation relies on GDALRasterBandGetVirtualMem(), but specialized implementation, such as for raw files, may also directly use mechanisms of the operating system to create a view of the underlying file into virtual memory ( CPLVirtualMemFileMapNew() )

At the time of writing, the GeoTIFF driver and "raw" drivers (EHdr, ...) offer a specialized implementation with direct file mapping, provided that some requirements are met :

- for all drivers, the dataset must be backed by a "real" file in the file system, and the byte ordering of multi-byte datatypes (Int16, etc.) must match the native ordering of the CPU.
- in addition, for the GeoTIFF driver, the GeoTIFF file must be uncompressed, scanline oriented (i.e. not tiled). Strips must be organized in the file in sequential order, and be equally spaced (which is generally the case). Only power-of-two bit depths are supported (8 for GDT_Bye, 16 for GDT_Int16/GDT_UInt16, 32 for GDT_Float32 and 64 for GDT_Float64)

The pointer returned remains valid until CPLVirtualMemFree() is called. CPLVirtualMemFree() must be called before the raster band object is destroyed.

If p is such a pointer and base_type the type matching GDALGetRasterDataType(), the element of image coordinates (x, y) can be accessed with *(base_type*) ((GByte*)p + x * *pnPixelSpace + y * *pnLineSpace)

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

Parameters:

  | eRWFlag | Either GF_Read to read the band, or GF_Write to read/write the band.
  | pnPixelSpace | Output parameter giving the byte offset from the start of one pixel value in the buffer to the start of the next pixel value within a scanline.
  | pnLineSpace | Output parameter giving the byte offset from the start of one scanline in the buffer to the start of the next.
  | papszOptions | NULL terminated list of options. If a specialized implementation exists, defining USE_DEFAULT_IMPLEMENTATION=YES will cause the default implementation to be used. When requiring or falling back to the default implementation, the following options are available : CACHE_SIZE (in bytes, defaults to 40 MB), PAGE_SIZE_HINT (in bytes), SINGLE_THREAD ("FALSE" / "TRUE", defaults to FALSE)

Returns:
  a virtual memory object that must be unreferenced by CPLVirtualMemFree(), or NULL in case of failure.

Since:
  GDAL 1.11

Reimplemented from GDALRasterBand.

virtual int GDALProxyRasterBand::HasArbitraryOverviews | ( |  | ) | `[virtual]`

Check for arbitrary overviews.

This returns TRUE if the underlying datastore can compute arbitrary overviews efficiently, such as is the case with OGDI over a network. Datastores with arbitrary overviews don't generally have any fixed overviews, but the RasterIO() method can be used in downsampling mode to get overview data efficiently.

This method is the same as the C function GDALHasArbitraryOverviews(),

Returns:
  TRUE if arbitrary overviews available (efficiently), otherwise FALSE.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::SetColorInterpretation | ( | GDALColorInterp | eColorInterp | ) | `[virtual]`

Set color interpretation of a band.

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

Parameters:

  | eColorInterp | the new color interpretation to apply to this band.

Returns:
  CE_None on success or CE_Failure if method is unsupported by format.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::SetColorTable | ( | GDALColorTable * | poCT | ) | `[virtual]`

Set the raster color table.

The driver will make a copy of all desired data in the colortable. It remains owned by the caller after the call.

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

Parameters:

  | poCT | the color table to apply. This may be NULL to clear the color table (where supported).

Returns:
  CE_None on success, or CE_Failure on failure. If the action is unsupported by the driver, a value of CE_Failure is returned, but no error is issued.

Reimplemented from GDALRasterBand.

virtual CPLErr GDALProxyRasterBand::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 GDALMajorObject.

virtual CPLErr GDALProxyRasterBand::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 GDALMajorObject.

virtual CPLErr GDALProxyRasterBand::SetStatistics | ( | double | dfMin,
|  | double | dfMax,
|  | double | dfMean,
|  | double | dfStdDev |
| ) |  |  | `[virtual]`

Set statistics on band.

This method can be used to store min/max/mean/standard deviation statistics on a raster band.

The default implementation stores them as metadata, and will only work on formats that can save arbitrary metadata. This method cannot detect whether metadata will be properly saved and so may return CE_None even if the statistics will never be saved.

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

Parameters:

  | dfMin | minimum pixel value.
  | dfMax | maximum pixel value.
  | dfMean | mean (average) of all pixel values.
  | dfStdDev | Standard deviation of all pixel values.

Returns:
  CE_None on success or CE_Failure on failure.

Reimplemented from GDALRasterBand.

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

- gdal_proxy.h

Generated for GDAL by 1.7.1.