Public Member Functions | |
virtual CPLErr | SetNoDataValue (double) |
virtual double | GetNoDataValue (int *pbSuccess=NULL) |
virtual CPLErr | SetColorTable (GDALColorTable *) |
virtual GDALColorTable * | GetColorTable () |
virtual CPLErr | SetColorInterpretation (GDALColorInterp) |
virtual GDALColorInterp | GetColorInterpretation () |
virtual const char * | GetUnitType () |
CPLErr | SetUnitType (const char *) |
virtual char ** | GetCategoryNames () |
virtual CPLErr | SetCategoryNames (char **) |
virtual double | GetOffset (int *pbSuccess=NULL) |
CPLErr | SetOffset (double) |
virtual double | GetScale (int *pbSuccess=NULL) |
CPLErr | SetScale (double) |
virtual CPLErr | GetHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData) |
virtual CPLErr | GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData) |
virtual CPLErr | SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram) |
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain="") |
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="") |
virtual const GDALRasterAttributeTable * | GetDefaultRAT () |
virtual CPLErr | SetDefaultRAT (const GDALRasterAttributeTable *) |
virtual CPLErr | CloneInfo (GDALRasterBand *poSrcBand, int nCloneInfoFlags) |
GDALRasterBandPamInfo * | GetPamInfo () |
Protected Member Functions | |
virtual CPLXMLNode * | SerializeToXML (const char *pszVRTPath) |
virtual CPLErr | XMLInit (CPLXMLNode *, const char *) |
void | PamInitialize () |
void | PamClear () |
Protected Attributes | |
GDALRasterBandPamInfo * | psPam |
Friends | |
class | GDALPamDataset |
char ** GDALPamRasterBand::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.
Reimplemented from GDALRasterBand.
GDALColorInterp GDALPamRasterBand::GetColorInterpretation | ( | ) | [virtual] |
How should this band be interpreted as color?
CV_Undefined is returned when the format doesn't know anything about the color interpretation.
This method is the same as the C function GDALGetRasterColorInterpretation().
Reimplemented from GDALRasterBand.
GDALColorTable * GDALPamRasterBand::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().
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::GetDefaultHistogram | ( | double * | pdfMin, | |
double * | pdfMax, | |||
int * | pnBuckets, | |||
int ** | ppanHistogram, | |||
int | bForce, | |||
GDALProgressFunc | pfnProgress, | |||
void * | pProgressData | |||
) | [virtual] |
Fetch default 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.
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. |
Reimplemented from GDALRasterBand.
References CXT_Element, CPLXMLNode::eType, CPLXMLNode::psChild, CPLXMLNode::psNext, and CPLXMLNode::pszValue.
const GDALRasterAttributeTable * GDALPamRasterBand::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, or altered by the application.
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::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.
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. |
Reimplemented from GDALRasterBand.
References CXT_Element.
double GDALPamRasterBand::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().
pbSuccess | pointer to a boolean to use to indicate if a value is actually associated with this layer. May be NULL (default). |
Reimplemented from GDALRasterBand.
double GDALPamRasterBand::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().
pbSuccess | pointer to a boolean to use to indicate if the returned value is meaningful or not. May be NULL (default). |
Reimplemented from GDALRasterBand.
double GDALPamRasterBand::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().
pbSuccess | pointer to a boolean to use to indicate if the returned value is meaningful or not. May be NULL (default). |
Reimplemented from GDALRasterBand.
const char * GDALPamRasterBand::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().
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::SetCategoryNames | ( | char ** | ) | [virtual] |
Set the category names for this band.
See the GetCategoryNames() method for more on the interpretation of category names.
This method is the same as the C function GDALSetRasterCategoryNames().
papszNames | the NULL terminated StringList of category names. May be NULL to just clear the existing list. |
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::SetColorInterpretation | ( | GDALColorInterp | eColorInterp | ) | [virtual] |
Set color interpretation of a band.
eColorInterp | the new color interpretation to apply to this band. |
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::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().
poCT | the color table to apply. This may be NULL to clear the color table (where supported). |
Reimplemented from GDALRasterBand.
References GDALColorTable::Clone(), and GCI_PaletteIndex.
CPLErr GDALPamRasterBand::SetDefaultRAT | ( | const GDALRasterAttributeTable * | poRAT | ) | [virtual] |
Set default Raster Attribute Table.
Associates a default RAT with the band. If not implemented for the format a CPLE_NotSupported error will be issued. If successful a copy of the RAT is made, the original remains owned by the caller.
poRAT | the RAT to assign to the band. |
Reimplemented from GDALRasterBand.
References GDALRasterAttributeTable::Clone().
CPLErr GDALPamRasterBand::SetMetadata | ( | char ** | papszMetadataIn, | |
const char * | pszDomain = "" | |||
) | [virtual] |
Set metadata.
The C function GDALSetMetadata() does the same thing as this method.
papszMetadata | the metadata in name=value string list format to apply. | |
pszDomain | the domain of interest. Use "" or NULL for the default domain. |
Reimplemented from GDALMajorObject.
CPLErr GDALPamRasterBand::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.
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. |
Reimplemented from GDALMajorObject.
CPLErr GDALPamRasterBand::SetNoDataValue | ( | double | ) | [virtual] |
Set the no data value for this band.
To clear the nodata value, just set it with an "out of range" value. Complex band no data values must have an imagery component of zero.
This method is the same as the C function GDALSetRasterNoDataValue().
dfNoData | the value to set. |
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::SetOffset | ( | double | dfNewOffset | ) | [virtual] |
Set scaling offset.
Very few formats implement this method. When not implemented it will issue a CPLE_NotSupported error and return CE_Failure.
dfNewOffset | the new offset. |
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::SetScale | ( | double | dfNewScale | ) | [virtual] |
Set scaling ratio.
Very few formats implement this method. When not implemented it will issue a CPLE_NotSupported error and return CE_Failure.
dfNewScale | the new scale. |
Reimplemented from GDALRasterBand.
CPLErr GDALPamRasterBand::SetUnitType | ( | const char * | pszNewValue | ) | [virtual] |
Set unit type.
Set the unit type for a raster band. Values should be one of "" (the default indicating it is unknown), "m" indicating meters, or "ft" indicating feet, though other nonstandard values are allowed.
pszNewValue | the new unit type value. |
Reimplemented from GDALRasterBand.