GDAL

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
VRTSourcedRasterBand Class Reference
Inheritance diagram for VRTSourcedRasterBand:

## 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 int | IGetDataCoverageStatus (int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
virtual char ** | GetMetadataDomainList ()
| Fetch list of metadata domains. More...
virtual const char * | GetMetadataItem (const char *pszName, const char *pszDomain="")
| Fetch single metadata item. More...
virtual char ** | GetMetadata (const char *pszDomain="")
| Fetch metadata. More...
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain="")
| Set metadata. More...
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="")
| Set single metadata item. More...
virtual CPLErr | XMLInit (CPLXMLNode *, const char *)
virtual CPLXMLNode * | SerializeToXML (const char *pszVRTPath)
virtual double | GetMinimum (int *pbSuccess=NULL)
| Fetch the minimum value for this band. More...
virtual double | GetMaximum (int *pbSuccess=NULL)
| Fetch the maximum value for this band. More...
virtual CPLErr | ComputeRasterMinMax (int bApproxOK, double *adfMinMax)
| Compute the min/max values for a band. More...
virtual CPLErr | ComputeStatistics (int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
| Compute image statistics. More...
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
| Compute raster histogram. More...
CPLErr | AddSource (VRTSource *)
CPLErr | AddSimpleSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1, const char *pszResampling="near", double dfNoDataValue=VRT_NODATA_UNSET)
CPLErr | AddComplexSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1, double dfScaleOff=0.0, double dfScaleRatio=1.0, double dfNoDataValue=VRT_NODATA_UNSET, int nColorTableComponent=0)
CPLErr | AddMaskBandSource (GDALRasterBand *poSrcBand, double dfSrcXOff=-1, double dfSrcYOff=-1, double dfSrcXSize=-1, double dfSrcYSize=-1, double dfDstXOff=-1, double dfDstYOff=-1, double dfDstXSize=-1, double dfDstYSize=-1)
CPLErr | AddFuncSource (VRTImageReadFunc pfnReadFunc, void *hCBData, double dfNoDataValue=VRT_NODATA_UNSET)
void | ConfigureSource (VRTSimpleSource *poSimpleSource, GDALRasterBand *poSrcBand, int bAddAsMaskBand, double dfSrcXOff, double dfSrcYOff, double dfSrcXSize, double dfSrcYSize, double dfDstXOff, double dfDstYOff, double dfDstXSize, double dfDstYSize)
virtual CPLErr | IReadBlock (int, int, void *)
virtual void | GetFileList (char ***ppapszFileList, int *pnSize, int *pnMaxSize, CPLHashSet *hSetFiles)
virtual int | CloseDependentDatasets ()
virtual int | IsSourcedRasterBand ()
Public Member Functions inherited from VRTRasterBand
virtual CPLErr | SetNoDataValue (double)
| Set the no data value for this band. More...
virtual double | GetNoDataValue (int *pbSuccess=NULL)
| Fetch the no data value for this band. More...
virtual CPLErr | DeleteNoDataValue ()
| Remove the no data value for this band. More...
virtual CPLErr | SetColorTable (GDALColorTable *)
| Set the raster color table. More...
virtual GDALColorTable * | GetColorTable ()
| Fetch the color table associated with band. More...
virtual CPLErr | SetColorInterpretation (GDALColorInterp)
| Set color interpretation of a band. More...
virtual GDALColorInterp | GetColorInterpretation ()
| How should this band be interpreted as color? More...
virtual const char * | GetUnitType ()
| Return raster unit type. More...
CPLErr | SetUnitType (const char *)
| Set unit type. More...
virtual char ** | GetCategoryNames ()
| Fetch the list of category names for this raster. More...
virtual CPLErr | SetCategoryNames (char **)
| Set the category names for this band. More...
virtual double | GetOffset (int *pbSuccess=NULL)
| Fetch the raster value offset. More...
CPLErr | SetOffset (double)
| Set scaling offset. More...
virtual double | GetScale (int *pbSuccess=NULL)
| Fetch the raster value scale. More...
CPLErr | SetScale (double)
| Set scaling ratio. More...
virtual int | GetOverviewCount ()
| Return the number of overview layers available. More...
virtual GDALRasterBand * | GetOverview (int)
| Fetch overview raster band object. More...
virtual CPLErr | GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
| Fetch default raster histogram. More...
virtual CPLErr | SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
| Set default histogram. More...
CPLErr | CopyCommonInfoFrom (GDALRasterBand *)
virtual void | SetDescription (const char *)
| Set object description. More...
virtual GDALRasterBand * | GetMaskBand ()
| Return the mask band associated with the band. More...
virtual int | GetMaskFlags ()
| Return the status flags of the mask band associated with the band. More...
virtual CPLErr | CreateMaskBand (int nFlags)
| Adds a mask band to the current band. More...
void | SetMaskBand (VRTRasterBand *poMaskBand)
void | SetIsMaskBand ()
CPLErr | UnsetNoDataValue ()
virtual int | IsPansharpenRasterBand ()
Public Member Functions inherited from GDALRasterBand
| GDALRasterBand ()
| GDALRasterBand (int bForceCachedIO)
virtual | ~GDALRasterBand ()
int | GetXSize ()
| Fetch XSize of raster. More...
int | GetYSize ()
| Fetch YSize of raster. More...
int | GetBand ()
| Fetch the band number. More...
GDALDataset * | GetDataset ()
| Fetch the owning dataset handle. More...
GDALDataType | GetRasterDataType (void)
| Fetch the pixel data type for this band. More...
void | GetBlockSize (int *, int *)
| Fetch the "natural" block size of this band. More...
GDALAccess | GetAccess ()
| Find out if we have update permission for this band. More...
CPLErr | RasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
| Read/write a region of image data for this band. More...
CPLErr | ReadBlock (int, int, void *) CPL_WARN_UNUSED_RESULT
| Read a block of image data efficiently. More...
CPLErr | WriteBlock (int, int, void *) CPL_WARN_UNUSED_RESULT
| Write a block of image data efficiently. More...
GDALRasterBlock * | GetLockedBlockRef (int nXBlockOff, int nYBlockOff, int bJustInitialize=FALSE) CPL_WARN_UNUSED_RESULT
| Fetch a pointer to an internally cached raster block. More...
CPLErr | FlushBlock (int, int, int bWriteDirtyBlock=TRUE)
unsigned char * | GetIndexColorTranslationTo (GDALRasterBand *poReferenceBand, unsigned char *pTranslationTable=NULL, int *pApproximateMatching=NULL)
| Compute translation table for color tables. More...
virtual CPLErr | FlushCache ()
| Flush raster data cache. More...
virtual CPLErr | Fill (double dfRealValue, double dfImaginaryValue=0)
| Fill this band with a constant value. More...
virtual CPLErr | GetStatistics (int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
| Fetch image statistics. More...
virtual CPLErr | SetStatistics (double dfMin, double dfMax, double dfMean, double dfStdDev)
| Set statistics on band. More...
virtual int | HasArbitraryOverviews ()
| Check for arbitrary overviews. More...
virtual GDALRasterBand * | GetRasterSampleOverview (GUIntBig)
| Fetch best sampling overview. More...
virtual CPLErr | BuildOverviews (const char *, int, int *, GDALProgressFunc, void *)
| Build raster overview(s) More...
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. More...
virtual GDALRasterAttributeTable * | GetDefaultRAT ()
| Fetch default Raster Attribute Table. More...
virtual CPLErr | SetDefaultRAT (const GDALRasterAttributeTable *)
| Set default Raster Attribute Table. More...
virtual CPLVirtualMem * | GetVirtualMemAuto (GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
| Create a CPLVirtualMem object from a GDAL raster band object. More...
int | GetDataCoverageStatus (int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop=0, double *pdfDataPct=NULL)
| Get the coverage status of a sub-window of the raster. More...
void | ReportError (CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...) CPL_PRINT_FUNC_FORMAT(4
| Emits an error related to a raster band. More...
Public Member Functions inherited from GDALMajorObject
int | GetMOFlags () const
void | SetMOFlags (int nFlagsIn)
virtual const char * | GetDescription () const
| Fetch object description. More...

## Public Attributes
int | nSources
VRTSource ** | papoSources
int | bSkipBufferInitialization

## Additional Inherited Members
Protected Member Functions inherited from VRTRasterBand
void | Initialize (int nXSize, int nYSize)
Protected Member Functions inherited from GDALRasterBand
void | InvalidateMaskBand ()
CPLErr | RasterIOResampled (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
int | EnterReadWrite (GDALRWFlag eRWFlag)
void | LeaveReadWrite ()
virtual CPLErr | IWriteBlock (int, int, void *)
CPLErr | OverviewRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
CPLErr | TryOverviewRasterIO (GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void *pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg, int *pbTried)
int | InitBlockInfo ()
GDALRasterBlock * | TryGetLockedBlockRef (int nXBlockOff, int nYBlockYOff)
| Try fetching block ref. More...
void | AddBlockToFreeList (GDALRasterBlock *)
Protected Member Functions inherited from GDALMajorObject
char ** | BuildMetadataDomainList (char **papszList, int bCheckNonEmpty,...) CPL_NULL_TERMINATED
| Helper function for custom implementations of GetMetadataDomainList() More...
Protected Attributes inherited from VRTRasterBand
int | m_bIsMaskBand
int | m_bNoDataValueSet
int | m_bHideNoDataValue
double | m_dfNoDataValue
GDALColorTable * | m_poColorTable
GDALColorInterp | m_eColorInterp
char * | m_pszUnitType
char ** | m_papszCategoryNames
double | m_dfOffset
double | m_dfScale
CPLXMLNode * | m_psSavedHistograms
std::vector< VRTOverviewInfo > | m_apoOverviews
VRTRasterBand * | m_poMaskBand
Protected Attributes inherited from GDALRasterBand
GDALDataset * | poDS
int | nBand
int | nRasterXSize
int | nRasterYSize
GDALDataType | eDataType
GDALAccess | eAccess
int | nBlockXSize
int | nBlockYSize
int | nBlocksPerRow
int | nBlocksPerColumn
int | nBlockReads
int | bForceCachedIO
GDALRasterBand * | poMask
bool | bOwnMask
int | nMaskFlags
Protected Attributes inherited from GDALMajorObject
int | nFlags
CPLString | sDescription
GDALMultiDomainMetadata | oMDMD

## 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

  bApproxOK | TRUE if an approximate (faster) answer is OK, otherwise FALSE.
  adfMinMax | the 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

  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,
|  | 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 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 formatted as a "Name=value" list with the last pointer value being NULL. Use 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:

- vrtdataset.h
- vrtsourcedrasterband.cpp

Generated for GDAL by 1.8.8.