QGIS API Documentation
3.2.0-Bonn (bc43194)
|
Renderer for paletted raster images. More...
#include <qgspalettedrasterrenderer.h>
Classes | |
struct | Class |
Properties of a single value class. More... | |
Public Types | |
typedef QList< QgsPalettedRasterRenderer::Class > | ClassData |
Map of value to class properties. More... | |
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... | |
Public Member Functions | |
QgsPalettedRasterRenderer (QgsRasterInterface *input, int bandNumber, const ClassData &classes) | |
Constructor for QgsPalettedRasterRenderer. More... | |
QgsPalettedRasterRenderer (const QgsPalettedRasterRenderer &)=delete | |
QgsPalettedRasterRenderer cannot be copied. Use clone() instead. More... | |
int | band () const |
Returns the raster band used for rendering the raster. More... | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height, QgsRasterBlockFeedback *feedback=nullptr) override |
Read block of data using given extent and size. More... | |
ClassData | classes () const |
Returns a map of value to classes (colors) used by the renderer. More... | |
QgsPalettedRasterRenderer * | clone () const override |
Clone itself, create deep copy. More... | |
QString | label (int idx) const |
Returns optional category label. More... | |
void | legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const override |
Gets symbology items if provided by renderer. More... | |
int | nColors () const |
Returns number of colors. More... | |
const QgsPalettedRasterRenderer & | operator= (const QgsPalettedRasterRenderer &)=delete |
QgsPalettedRasterRenderer cannot be copied. Use clone() instead. More... | |
void | setLabel (int idx, const QString &label) |
Set category label. More... | |
void | setSourceColorRamp (QgsColorRamp *ramp) |
Set the source color ramp. More... | |
QgsColorRamp * | sourceColorRamp () const |
Gets the source color ramp. More... | |
QList< int > | usesBands () const override |
Returns a list of band numbers used by the renderer. More... | |
void | writeXml (QDomDocument &doc, QDomElement &parentElem) const override |
Write base class members to xml. More... | |
Public Member Functions inherited from QgsRasterRenderer | |
QgsRasterRenderer (QgsRasterInterface *input=nullptr, const QString &type=QString()) | |
Constructor for QgsRasterRenderer. More... | |
QgsRasterRenderer (const QgsRasterRenderer &)=delete | |
QgsRasterRenderer cannot be copied. Use clone() instead. More... | |
~QgsRasterRenderer () override | |
int | alphaBand () const |
int | bandCount () const override |
Gets number of bands. More... | |
void | copyCommonProperties (const QgsRasterRenderer *other, bool copyMinMaxOrigin=true) |
Copies common properties like opacity / transparency data from other renderer. More... | |
Qgis::DataType | dataType (int bandNo) const override |
Returns data type for the band specified by number. More... | |
const QgsRasterMinMaxOrigin & | minMaxOrigin () const |
Returns const reference to origin of min/max values. More... | |
double | opacity () const |
Returns the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque). More... | |
const QgsRasterRenderer & | operator= (const QgsRasterRenderer &)=delete |
QgsRasterRenderer cannot be copied. Use clone() instead. More... | |
const QgsRasterTransparency * | rasterTransparency () const |
void | readXml (const QDomElement &rendererElem) override |
Sets base class members from xml. Usually called from create() methods of subclasses. More... | |
void | setAlphaBand (int band) |
bool | setInput (QgsRasterInterface *input) override |
Set input. More... | |
void | setMinMaxOrigin (const QgsRasterMinMaxOrigin &origin) |
Sets origin of min/max values. More... | |
void | setOpacity (double opacity) |
Sets the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque). More... | |
void | setRasterTransparency (QgsRasterTransparency *t) |
virtual QString | type () const |
bool | usesTransparency () const |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=nullptr) | |
virtual | ~QgsRasterInterface ()=default |
virtual QgsRasterBandStats | bandStatistics (int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, QgsRasterBlockFeedback *feedback=nullptr) |
Returns the band statistics. More... | |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. More... | |
QString | capabilitiesString () const |
Returns the above in friendly format. More... | |
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. More... | |
int | dataTypeSize (int bandNo) |
virtual QgsRectangle | extent () const |
Gets the extent of the interface. More... | |
virtual QString | generateBandName (int bandNumber) const |
helper function to create zero padded band names More... | |
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) More... | |
virtual bool | hasStatistics (int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Returns true if histogram is available (cached, already calculated). More... | |
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. More... | |
virtual QgsRasterInterface * | input () const |
Current input. More... | |
virtual bool | on () const |
Returns whether the interface is on or off. More... | |
virtual void | setOn (bool on) |
Sets whether the interface is on or off. More... | |
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. More... | |
virtual const QgsRasterInterface * | sourceInput () const |
Gets source / raw input, the first in pipe, usually provider. More... | |
virtual QgsRasterInterface * | sourceInput () |
Gets source / raw input, the first in pipe, usually provider. More... | |
virtual int | xBlockSize () const |
Gets block size. More... | |
virtual int | xSize () const |
Gets raster size. More... | |
virtual int | yBlockSize () const |
virtual int | ySize () const |
Static Public Member Functions | |
static QgsPalettedRasterRenderer::ClassData | classDataFromFile (const QString &path) |
Opens a color table file and returns corresponding paletted renderer class data. More... | |
static QgsPalettedRasterRenderer::ClassData | classDataFromRaster (QgsRasterInterface *raster, int bandNumber, QgsColorRamp *ramp=nullptr, QgsRasterBlockFeedback *feedback=nullptr) |
Generates class data from a raster, for the specified bandNumber. More... | |
static QgsPalettedRasterRenderer::ClassData | classDataFromString (const QString &string) |
Converts a string containing a color table or class data to to paletted renderer class data. More... | |
static QString | classDataToString (const QgsPalettedRasterRenderer::ClassData &classes) |
Converts classes to a string representation, using the .clr/gdal color table file format. More... | |
static QgsPalettedRasterRenderer::ClassData | colorTableToClassData (const QList< QgsColorRampShader::ColorRampItem > &table) |
Converts a raster color table to paletted renderer class data. More... | |
static QgsRasterRenderer * | create (const QDomElement &elem, QgsRasterInterface *input) |
Additional Inherited Members | |
Static Public Attributes inherited from QgsRasterRenderer | |
static const QRgb | NODATA_COLOR = qRgba( 0, 0, 0, 0 ) |
Protected Member Functions inherited from QgsRasterRenderer | |
void | _writeXml (QDomDocument &doc, QDomElement &rasterRendererElem) const |
Write upper class info into rasterrenderer element (called by writeXml method of subclasses) More... | |
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. More... | |
void | initStatistics (QgsRasterBandStats &statistics, int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &boundingBox=QgsRectangle(), int binCount=0) |
Fill in statistics defaults if not specified. More... | |
Protected Attributes inherited from QgsRasterRenderer | |
int | mAlphaBand = -1 |
Read alpha value from band. More... | |
QgsRasterMinMaxOrigin | mMinMaxOrigin |
Origin of min/max values. More... | |
double | mOpacity = 1.0 |
Global alpha value (0-1) More... | |
QgsRasterTransparency * | mRasterTransparency = nullptr |
Raster transparency per color or value. Overwrites global alpha value. More... | |
QString | mType |
Protected Attributes inherited from QgsRasterInterface | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. More... | |
QgsRasterInterface * | mInput = nullptr |
bool | mOn = true |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. More... | |
Renderer for paletted raster images.
Definition at line 35 of file qgspalettedrasterrenderer.h.
typedef QList< QgsPalettedRasterRenderer::Class > QgsPalettedRasterRenderer::ClassData |
Map of value to class properties.
Definition at line 59 of file qgspalettedrasterrenderer.h.
QgsPalettedRasterRenderer::QgsPalettedRasterRenderer | ( | QgsRasterInterface * | input, |
int | bandNumber, | ||
const ClassData & | classes | ||
) |
Constructor for QgsPalettedRasterRenderer.
Definition at line 30 of file qgspalettedrasterrenderer.cpp.
|
delete |
QgsPalettedRasterRenderer cannot be copied. Use clone() instead.
|
inline |
Returns the raster band used for rendering the raster.
Definition at line 98 of file qgspalettedrasterrenderer.h.
|
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 cancelation/preview. Added in QGIS 3.0. |
Implements QgsRasterRenderer.
Definition at line 122 of file qgspalettedrasterrenderer.cpp.
|
static |
Opens a color table file and returns corresponding paletted renderer class data.
Definition at line 367 of file qgspalettedrasterrenderer.cpp.
|
static |
Generates class data from a raster, for the specified bandNumber.
An optional color ramp can be specified to automatically assign colors from the ramp.
Definition at line 398 of file qgspalettedrasterrenderer.cpp.
|
static |
Converts a string containing a color table or class data to to paletted renderer class data.
Definition at line 288 of file qgspalettedrasterrenderer.cpp.
|
static |
Converts classes to a string representation, using the .clr/gdal color table file format.
Definition at line 380 of file qgspalettedrasterrenderer.cpp.
QgsPalettedRasterRenderer::ClassData QgsPalettedRasterRenderer::classes | ( | ) | const |
Returns a map of value to classes (colors) used by the renderer.
Definition at line 93 of file qgspalettedrasterrenderer.cpp.
|
overridevirtual |
Clone itself, create deep copy.
Implements QgsRasterRenderer.
Definition at line 38 of file qgspalettedrasterrenderer.cpp.
|
static |
Converts a raster color table to paletted renderer class data.
Definition at line 276 of file qgspalettedrasterrenderer.cpp.
|
static |
Definition at line 48 of file qgspalettedrasterrenderer.cpp.
QString QgsPalettedRasterRenderer::label | ( | int | idx | ) | const |
Returns optional category label.
Definition at line 98 of file qgspalettedrasterrenderer.cpp.
|
overridevirtual |
Gets symbology items if provided by renderer.
Reimplemented from QgsRasterRenderer.
Definition at line 246 of file qgspalettedrasterrenderer.cpp.
|
inline |
Returns number of colors.
Definition at line 77 of file qgspalettedrasterrenderer.h.
|
delete |
QgsPalettedRasterRenderer cannot be copied. Use clone() instead.
void QgsPalettedRasterRenderer::setLabel | ( | int | idx, |
const QString & | label | ||
) |
void QgsPalettedRasterRenderer::setSourceColorRamp | ( | QgsColorRamp * | ramp | ) |
Set the source color ramp.
Ownership is transferred to the renderer.
Definition at line 266 of file qgspalettedrasterrenderer.cpp.
QgsColorRamp * QgsPalettedRasterRenderer::sourceColorRamp | ( | ) | const |
Gets the source color ramp.
Definition at line 271 of file qgspalettedrasterrenderer.cpp.
|
overridevirtual |
Returns a list of band numbers used by the renderer.
Reimplemented from QgsRasterRenderer.
Definition at line 256 of file qgspalettedrasterrenderer.cpp.
|
overridevirtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 208 of file qgspalettedrasterrenderer.cpp.