QGIS API Documentation
2.2.0-Valmiera
|
Resample filter pipe for rasters. More...
#include <qgsrasterresamplefilter.h>
Public Member Functions | |
QgsRasterResampleFilter (QgsRasterInterface *input=0) | |
~QgsRasterResampleFilter () | |
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. | |
bool | setInput (QgsRasterInterface *input) |
Set input. | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height) |
Read block of data using given extent and size. | |
void | setZoomedInResampler (QgsRasterResampler *r) |
Set resampler for zoomed in scales. | |
const QgsRasterResampler * | zoomedInResampler () const |
void | setZoomedOutResampler (QgsRasterResampler *r) |
Set resampler for zoomed out scales. | |
const QgsRasterResampler * | zoomedOutResampler () const |
void | setMaxOversampling (double os) |
double | maxOversampling () const |
void | writeXML (QDomDocument &doc, QDomElement &parentElem) const |
Write base class members to xml. | |
void | readXML (const QDomElement &filterElem) |
Sets base class members from xml. | |
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 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. |
Protected Attributes | |
QgsRasterResampler * | mZoomedInResampler |
Resampler used if screen resolution is higher than raster resolution (zoomed in). | |
QgsRasterResampler * | mZoomedOutResampler |
Resampler used if raster resolution is higher than raster resolution (zoomed out). | |
double | mMaxOversampling |
Maximum boundary for oversampling (to avoid too much data traffic). | |
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 |
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. |
Resample filter pipe for rasters.
Definition at line 31 of file qgsrasterresamplefilter.h.
QgsRasterResampleFilter::QgsRasterResampleFilter | ( | QgsRasterInterface * | input = 0 | ) |
Definition at line 35 of file qgsrasterresamplefilter.cpp.
Referenced by clone().
QgsRasterResampleFilter::~QgsRasterResampleFilter | ( | ) |
Definition at line 42 of file qgsrasterresamplefilter.cpp.
References mZoomedInResampler, and mZoomedOutResampler.
|
virtual |
Get number of bands.
Implements QgsRasterInterface.
Definition at line 64 of file qgsrasterresamplefilter.cpp.
References QgsRasterInterface::bandCount(), QgsRasterInterface::mInput, and QgsRasterInterface::mOn.
|
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 131 of file qgsrasterresamplefilter.cpp.
References QGis::ARGB32_Premultiplied, QgsRasterInterface::block(), QgsRasterInterface::capabilities(), QgsRasterDataProvider::extent(), QgsRasterBlock::image(), QgsRasterBlock::isEmpty(), QgsRasterInterface::mInput, mMaxOversampling, mZoomedInResampler, mZoomedOutResampler, QgsDebugMsg, qgsDoubleNear(), QgsRasterResampler::resample(), QgsRasterBlock::reset(), QgsRasterBlock::setImage(), QgsRasterInterface::Size, QgsRasterInterface::srcInput(), QgsRectangle::toString(), QgsRectangle::width(), and QgsRasterInterface::xSize().
|
virtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
Definition at line 48 of file qgsrasterresamplefilter.cpp.
References QgsRasterResampler::clone(), mMaxOversampling, mZoomedInResampler, mZoomedOutResampler, QgsDebugMsg, QgsRasterResampleFilter(), setMaxOversampling(), setZoomedInResampler(), and setZoomedOutResampler().
|
virtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
Definition at line 73 of file qgsrasterresamplefilter.cpp.
References QGis::ARGB32_Premultiplied, QgsRasterInterface::dataType(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, and QGis::UnknownDataType.
|
inline |
Definition at line 56 of file qgsrasterresamplefilter.h.
|
virtual |
Sets base class members from xml.
Usually called from create() methods of subclasses
Reimplemented from QgsRasterInterface.
Definition at line 245 of file qgsrasterresamplefilter.cpp.
References mMaxOversampling, mZoomedInResampler, and mZoomedOutResampler.
Referenced by QgsRasterLayer::readSymbology().
|
virtual |
Set input.
Returns true if set correctly, false if cannot use that input
Reimplemented from QgsRasterInterface.
Definition at line 82 of file qgsrasterresamplefilter.cpp.
References QGis::ARGB32, QGis::ARGB32_Premultiplied, QgsRasterInterface::bandCount(), QgsRasterInterface::dataType(), QgsRasterInterface::input(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, and QgsDebugMsg.
|
inline |
Definition at line 55 of file qgsrasterresamplefilter.h.
Referenced by clone().
void QgsRasterResampleFilter::setZoomedInResampler | ( | QgsRasterResampler * | r | ) |
Set resampler for zoomed in scales.
Takes ownership of the object
Definition at line 119 of file qgsrasterresamplefilter.cpp.
References mZoomedInResampler.
Referenced by clone().
void QgsRasterResampleFilter::setZoomedOutResampler | ( | QgsRasterResampler * | r | ) |
Set resampler for zoomed out scales.
Takes ownership of the object
Definition at line 125 of file qgsrasterresamplefilter.cpp.
References mZoomedOutResampler.
Referenced by clone().
|
virtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 224 of file qgsrasterresamplefilter.cpp.
References mMaxOversampling, mZoomedInResampler, mZoomedOutResampler, and QgsRasterResampler::type().
|
inline |
Definition at line 49 of file qgsrasterresamplefilter.h.
|
inline |
Definition at line 53 of file qgsrasterresamplefilter.h.
|
protected |
Maximum boundary for oversampling (to avoid too much data traffic).
Default: 2.0
Definition at line 70 of file qgsrasterresamplefilter.h.
Referenced by block(), clone(), readXML(), and writeXML().
|
protected |
Resampler used if screen resolution is higher than raster resolution (zoomed in).
0 means no resampling (nearest neighbour)
Definition at line 65 of file qgsrasterresamplefilter.h.
Referenced by block(), clone(), readXML(), setZoomedInResampler(), writeXML(), and ~QgsRasterResampleFilter().
|
protected |
Resampler used if raster resolution is higher than raster resolution (zoomed out).
0 mean no resampling (nearest neighbour)
Definition at line 67 of file qgsrasterresamplefilter.h.
Referenced by block(), clone(), readXML(), setZoomedOutResampler(), writeXML(), and ~QgsRasterResampleFilter().