QGIS API Documentation
2.0.1-Dufour
|
Raster pipe that deals with null values. More...
#include <qgsrasternuller.h>
Classes | |
struct | NoData |
Public Member Functions | |
QgsRasterNuller (QgsRasterInterface *input=0) | |
~QgsRasterNuller () | |
QgsRasterInterface * | clone () const |
Clone itself, create deep copy. | |
int | bandCount () const |
Get number of bands. | |
QGis::DataType | dataType (int bandNo) const |
Returns data type for the band specified by number. | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height) |
Read block of data using given extent and size. | |
void | setNoData (int bandNo, QgsRasterRangeList noData) |
QgsRasterRangeList | noData (int bandNo) const |
void | setOutputNoDataValue (int bandNo, double noData) |
Set output no data value. | |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=0) | |
virtual | ~QgsRasterInterface () |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. | |
QString | capabilitiesString () const |
Returns the above in friendly format. | |
virtual QGis::DataType | srcDataType (int bandNo) const |
Returns source data type for the band specified by number, source data type may be shorter than dataType. | |
virtual QgsRectangle | extent () |
Get the extent of the interface. | |
int | dataTypeSize (int bandNo) |
virtual int | xBlockSize () const |
Get block size. | |
virtual int | yBlockSize () const |
virtual int | xSize () const |
Get raster size. | |
virtual int | ySize () const |
virtual QString | generateBandName (int theBandNumber) const |
helper function to create zero padded band names | |
virtual bool | setInput (QgsRasterInterface *input) |
Set input. | |
virtual QgsRasterInterface * | input () const |
Current input. | |
virtual bool | on () const |
Is on/off. | |
virtual void | setOn (bool on) |
Set on/off. | |
virtual const QgsRasterInterface * | srcInput () const |
Get source / raw input, the first in pipe, usually provider. | |
virtual QgsRasterInterface * | srcInput () |
virtual QgsRasterBandStats | bandStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Get band statistics. | |
virtual bool | hasStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Returns true if histogram is available (cached, already calculated). | |
virtual QgsRasterHistogram | histogram (int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Get histogram. | |
virtual bool | hasHistogram (int theBandNo, int theBinCount, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Returns true if histogram is available (cached, already calculated), the parameters are the same as in histogram() | |
virtual void | cumulativeCut (int theBandNo, double theLowerCount, double theUpperCount, double &theLowerValue, double &theUpperValue, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Find values for cumulative pixel count cut. | |
virtual void | writeXML (QDomDocument &doc, QDomElement &parentElem) const |
Write base class members to xml. | |
virtual void | readXML (const QDomElement &filterElem) |
Sets base class members from xml. |
Private Attributes | |
QVector< QgsRasterRangeList > | mNoData |
QVector< double > | mOutputNoData |
QVector< bool > | mHasOutputNoData |
Additional Inherited Members | |
Public Types inherited from QgsRasterInterface | |
enum | Capability { NoCapabilities = 0, Size = 1 << 1, Create = 1 << 2, Remove = 1 << 3, BuildPyramids = 1 << 4, Identify = 1 << 5, IdentifyValue = 1 << 6, IdentifyText = 1 << 7, IdentifyHtml = 1 << 8, IdentifyFeature = 1 << 9 } |
If you add to this, please also add to capabilitiesString() More... | |
Protected Member Functions inherited from QgsRasterInterface | |
void | initHistogram (QgsRasterHistogram &theHistogram, int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Fill in histogram defaults if not specified. | |
void | initStatistics (QgsRasterBandStats &theStatistics, int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theBinCount=0) |
Fill in statistics defaults if not specified. | |
Protected Attributes inherited from QgsRasterInterface | |
QgsRasterInterface * | mInput |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. | |
bool | mOn |
Raster pipe that deals with null values.
Definition at line 30 of file qgsrasternuller.h.
QgsRasterNuller::QgsRasterNuller | ( | QgsRasterInterface * | input = 0 | ) |
Definition at line 21 of file qgsrasternuller.cpp.
Referenced by clone().
QgsRasterNuller::~QgsRasterNuller | ( | ) |
Definition at line 26 of file qgsrasternuller.cpp.
|
virtual |
Get number of bands.
Implements QgsRasterInterface.
Definition at line 60 of file qgsrasternuller.cpp.
References QgsRasterInterface::bandCount(), and QgsRasterInterface::mInput.
|
virtual |
Read block of data using given extent and size.
Returns pointer to data. Caller is responsible to free the memory returned.
bandNo | band number |
extent | extent of block |
width | pixel width of block |
height | pixel height of block |
Implements QgsRasterInterface.
Definition at line 72 of file qgsrasternuller.cpp.
References QgsRasterInterface::block(), QgsRasterRange::contains(), QgsRasterBlock::dataType(), QgsRasterBlock::hasNoDataValue(), QgsRasterBlock::isNoData(), mHasOutputNoData, QgsRasterInterface::mInput, mNoData, mOutputNoData, QgsRasterBlock::noDataValue(), QgsDebugMsg, QgsRasterBlock::setIsNoData(), QgsRasterBlock::setValue(), QgsRasterBlock::typeIsColor(), and QgsRasterBlock::value().
|
virtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
Definition at line 30 of file qgsrasternuller.cpp.
References mHasOutputNoData, mNoData, mOutputNoData, QgsDebugMsg, and QgsRasterNuller().
|
virtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
Definition at line 66 of file qgsrasternuller.cpp.
References QgsRasterInterface::dataType(), QgsRasterInterface::mInput, and QGis::UnknownDataType.
|
inline |
Definition at line 52 of file qgsrasternuller.h.
Referenced by setNoData(), setOutputNoDataValue(), and QgsRasterFileWriter::writeDataRaster().
void QgsRasterNuller::setNoData | ( | int | bandNo, |
QgsRasterRangeList | noData | ||
) |
Definition at line 51 of file qgsrasternuller.cpp.
void QgsRasterNuller::setOutputNoDataValue | ( | int | bandNo, |
double | noData | ||
) |
Set output no data value.
Definition at line 40 of file qgsrasternuller.cpp.
References mHasOutputNoData, mOutputNoData, and noData().
Referenced by QgsRasterFileWriter::writeDataRaster().
|
private |
Definition at line 62 of file qgsrasternuller.h.
Referenced by block(), clone(), and setOutputNoDataValue().
|
private |
Definition at line 59 of file qgsrasternuller.h.
Referenced by block(), clone(), and setNoData().
|
private |
Definition at line 61 of file qgsrasternuller.h.
Referenced by block(), clone(), and setOutputNoDataValue().