QGIS API Documentation 3.39.0-Master (bca3cdb6021)
|
Resample filter pipe for rasters. More...
#include <qgsrasterresamplefilter.h>
Public Member Functions | |
QgsRasterResampleFilter (QgsRasterInterface *input=nullptr) | |
int | bandCount () const override |
Gets number of bands. | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height, QgsRasterBlockFeedback *feedback=nullptr) override |
Read block of data using given extent and size. | |
QgsRasterResampleFilter * | clone () const override |
Clone itself, create deep copy. | |
Qgis::DataType | dataType (int bandNo) const override |
Returns data type for the band specified by number. | |
double | maxOversampling () const |
void | readXml (const QDomElement &filterElem) override |
Sets base class members from xml. Usually called from create() methods of subclasses. | |
bool | setInput (QgsRasterInterface *input) override |
Set input. | |
void | setMaxOversampling (double os) |
void | setZoomedInResampler (QgsRasterResampler *r) |
Sets resampler for zoomed in scales. Takes ownership of the object. | |
void | setZoomedOutResampler (QgsRasterResampler *r) |
Sets resampler for zoomed out scales. Takes ownership of the object. | |
void | writeXml (QDomDocument &doc, QDomElement &parentElem) const override |
Write base class members to xml. | |
const QgsRasterResampler * | zoomedInResampler () const |
const QgsRasterResampler * | zoomedOutResampler () const |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=nullptr) | |
virtual | ~QgsRasterInterface ()=default |
Q_DECL_DEPRECATED QgsRasterBandStats | bandStatistics (int bandNo, int stats, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, QgsRasterBlockFeedback *feedback=nullptr) |
Returns the band statistics. | |
virtual QgsRasterBandStats | bandStatistics (int bandNo, Qgis::RasterBandStatistics stats=Qgis::RasterBandStatistic::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, QgsRasterBlockFeedback *feedback=nullptr) |
Returns the band statistics. | |
virtual Qgis::RasterInterfaceCapabilities | capabilities () const |
Returns the capabilities supported by the interface. | |
Q_DECL_DEPRECATED QString | capabilitiesString () const |
Returns the raster interface capabilities in friendly format. | |
virtual QString | colorInterpretationName (int bandNumber) const |
Returns the name of the color interpretation for the specified bandNumber. | |
virtual void | cumulativeCut (int bandNo, double lowerCount, double upperCount, double &lowerValue, double &upperValue, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Find values for cumulative pixel count cut. | |
int | dataTypeSize (int bandNo) const |
Returns the size (in bytes) for the data type for the specified band. | |
QString | displayBandName (int bandNumber) const |
Generates a friendly, descriptive name for the specified bandNumber. | |
virtual QgsRectangle | extent () const |
Gets the extent of the interface. | |
virtual QString | generateBandName (int bandNumber) const |
helper function to create zero padded band names | |
virtual bool | hasHistogram (int bandNo, int binCount, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false) |
Returns true if histogram is available (cached, already calculated) | |
Q_DECL_DEPRECATED bool | hasStatistics (int bandNo, int stats, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Returns true if histogram is available (cached, already calculated). | |
virtual bool | hasStatistics (int bandNo, Qgis::RasterBandStatistics stats=Qgis::RasterBandStatistic::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Returns true if histogram is available (cached, already calculated). | |
virtual QgsRasterHistogram | histogram (int bandNo, int binCount=0, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false, QgsRasterBlockFeedback *feedback=nullptr) |
Returns a band histogram. | |
virtual QgsRasterInterface * | input () const |
Current input. | |
virtual bool | on () const |
Returns whether the interface is on or off. | |
virtual void | setOn (bool on) |
Sets whether the interface is on or off. | |
virtual Qgis::DataType | sourceDataType (int bandNo) const |
Returns source data type for the band specified by number, source data type may be shorter than dataType. | |
virtual QgsRasterInterface * | sourceInput () |
Gets source / raw input, the first in pipe, usually provider. | |
virtual const QgsRasterInterface * | sourceInput () const |
Gets source / raw input, the first in pipe, usually provider. | |
virtual int | xBlockSize () const |
Gets block size. | |
virtual int | xSize () const |
Gets raster size. | |
virtual int | yBlockSize () const |
virtual int | ySize () const |
Protected Attributes | |
double | mMaxOversampling = 2.0 |
Maximum boundary for oversampling (to avoid too much data traffic). Default: 2.0. | |
std::unique_ptr< QgsRasterResampler > | mZoomedInResampler |
Resampler used if screen resolution is higher than raster resolution (zoomed in). 0 means no resampling (nearest neighbour) | |
std::unique_ptr< QgsRasterResampler > | mZoomedOutResampler |
Resampler used if raster resolution is higher than raster resolution (zoomed out). 0 mean no resampling (nearest neighbour) | |
Protected Attributes inherited from QgsRasterInterface | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. | |
QgsRasterInterface * | mInput = nullptr |
bool | mOn = true |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. | |
Additional Inherited Members | |
Protected Member Functions inherited from QgsRasterInterface | |
void | initHistogram (QgsRasterHistogram &histogram, int bandNo, int binCount, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &boundingBox=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false) |
Fill in histogram defaults if not specified. | |
Q_DECL_DEPRECATED void | initStatistics (QgsRasterBandStats &statistics, int bandNo, int stats, const QgsRectangle &boundingBox=QgsRectangle(), int binCount=0) const |
Fill in statistics defaults if not specified. | |
void | initStatistics (QgsRasterBandStats &statistics, int bandNo, Qgis::RasterBandStatistics stats=Qgis::RasterBandStatistic::All, const QgsRectangle &boundingBox=QgsRectangle(), int binCount=0) const |
Fill in statistics defaults if not specified. | |
Resample filter pipe for rasters.
Definition at line 32 of file qgsrasterresamplefilter.h.
QgsRasterResampleFilter::QgsRasterResampleFilter | ( | QgsRasterInterface * | input = nullptr | ) |
Definition at line 32 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
Gets number of bands.
Implements QgsRasterInterface.
Definition at line 53 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
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 |
feedback | optional raster feedback object for cancellation/preview. Added in QGIS 3.0. |
Implements QgsRasterInterface.
Definition at line 118 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
Definition at line 37 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
Definition at line 62 of file qgsrasterresamplefilter.cpp.
|
inline |
Definition at line 56 of file qgsrasterresamplefilter.h.
|
overridevirtual |
Sets base class members from xml. Usually called from create() methods of subclasses.
Reimplemented from QgsRasterInterface.
Definition at line 281 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
Set input.
Returns true
if set correctly, false
if cannot use that input
Reimplemented from QgsRasterInterface.
Definition at line 71 of file qgsrasterresamplefilter.cpp.
|
inline |
Definition at line 55 of file qgsrasterresamplefilter.h.
void QgsRasterResampleFilter::setZoomedInResampler | ( | QgsRasterResampler * | r | ) |
Sets resampler for zoomed in scales. Takes ownership of the object.
Definition at line 108 of file qgsrasterresamplefilter.cpp.
void QgsRasterResampleFilter::setZoomedOutResampler | ( | QgsRasterResampler * | r | ) |
Sets resampler for zoomed out scales. Takes ownership of the object.
Definition at line 113 of file qgsrasterresamplefilter.cpp.
|
overridevirtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 260 of file qgsrasterresamplefilter.cpp.
|
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.
|
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.
|
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.