|
QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
QgsClassificationMethod is an abstract class for implementations of classification methods. More...
#include <qgsclassificationmethod.h>

Public Types | |
| enum | ClassPosition { LowerBound, Inner, UpperBound } |
| Defines the class position. More... | |
| enum | MethodProperty { NoFlag = 0, ValuesNotRequired = 1 << 1, SymmetricModeAvailable = 1 << 2 } |
| Flags for the classification method. More... | |
Public Member Functions | |
| QgsClassificationMethod (MethodProperties properties=NoFlag, int codeComplexity=1) | |
| Creates a classification method. More... | |
| virtual | ~QgsClassificationMethod () |
| QList< QgsClassificationRange > | classes (const QgsVectorLayer *layer, const QString &expression, int nclasses) |
| This will calculate the classes for a given layer to define the classes. More... | |
| QList< QgsClassificationRange > | classes (const QList< double > &values, int nclasses) |
| This will calculate the classes for a list of values. More... | |
| QList< QgsClassificationRange > | classes (double minimum, double maximum, int nclasses) |
| This will calculate the classes for defined bounds without any values. More... | |
| virtual QgsClassificationMethod * | clone () const =0 |
| Returns a clone of the method. More... | |
| int | codeComplexity () const |
| Code complexity as the exponent in Big O notation. More... | |
| virtual QIcon | icon () const |
| The icon of the method. More... | |
| virtual QString | id () const =0 |
| The id of the method as saved in the project, must be unique in registry. More... | |
| QString | labelFormat () const |
| Returns the format of the label for the classes. More... | |
| QString | labelForRange (const QgsRendererRange &range, ClassPosition position=Inner) const |
| Returns the label for a range. More... | |
| virtual QString | labelForRange (double lowerValue, double upperValue, ClassPosition position=Inner) const |
| Returns the label for a range. More... | |
| int | labelPrecision () const |
| Returns the precision for the formatting of the labels. More... | |
| bool | labelTrimTrailingZeroes () const |
| Returns if the trailing 0 are trimmed in the label. More... | |
| virtual QString | name () const =0 |
| The readable and translate name of the method. More... | |
| const QgsProcessingParameterDefinition * | parameterDefinition (const QString ¶meterName) const |
| Returns the parameter from its name. More... | |
| QgsProcessingParameterDefinitions | parameterDefinitions () const |
| Returns the list of parameters. More... | |
| QVariantMap | parameterValues () const |
| Returns the values of the processing parameters. More... | |
| virtual void | readXml (const QDomElement &element, const QgsReadWriteContext &context) |
| Reads extra information to apply it to the method. More... | |
| QDomElement | save (QDomDocument &doc, const QgsReadWriteContext &context) const |
| Saves the method to a DOM element and return it. More... | |
| void | setLabelFormat (const QString &format) |
| Defines the format of the labels for the classes, using %1 and %2 for the bounds. More... | |
| void | setLabelPrecision (int labelPrecision) |
| Defines the precision for the formatting of the labels. More... | |
| void | setLabelTrimTrailingZeroes (bool trimTrailingZeroes) |
| Defines if the trailing 0 are trimmed in the label. More... | |
| void | setParameterValues (const QVariantMap &values) |
| Defines the values of the additional parameters. More... | |
| void | setSymmetricMode (bool enabled, double symmetryPoint=0, bool symmetryAstride=false) |
| Defines if the symmetric mode is enables and configures its parameters. More... | |
| bool | symmetricModeAvailable () const |
| Returns if the method supports symmetric calculation. More... | |
| bool | symmetricModeEnabled () const |
| Returns if the symmetric mode is enabled. More... | |
| bool | symmetryAstride () const |
Returns if the symmetric mode is astride if true, it will remove the symmetry point break so that the 2 classes form only one. More... | |
| double | symmetryPoint () const |
| Returns the symmetry point for symmetric mode. More... | |
| virtual bool | valuesRequired () const |
| Returns if the method requires values to calculate the classes If not, bounds are sufficient. More... | |
| virtual void | writeXml (QDomElement &element, const QgsReadWriteContext &context) const |
| Writes extra information about the method. More... | |
Static Public Member Functions | |
| static QgsClassificationMethod * | create (const QDomElement &element, const QgsReadWriteContext &context) |
| Reads the DOM element and return a new classification method from it. More... | |
| static void | makeBreaksSymmetric (QList< double > &breaks, double symmetryPoint, bool astride) |
| Remove the breaks that are above the existing opposite sign classes to keep colors symmetrically balanced around symmetryPoint Does not put a break on the symmetryPoint. More... | |
| static QList< double > | rangesToBreaks (const QList< QgsClassificationRange > &classes) |
| Transforms a list of classes to a list of breaks. More... | |
Static Public Attributes | |
| static const int | MAX_PRECISION = 15 |
| static const int | MIN_PRECISION = -6 |
Protected Member Functions | |
| void | addParameter (QgsProcessingParameterDefinition *definition) |
| Add a parameter to the method. More... | |
| void | copyBase (QgsClassificationMethod *c) const |
| Copy the parameters (shall be used in clone implementation) More... | |
| QString | formatNumber (double value) const |
| Format the number according to label properties. More... | |
QgsClassificationMethod is an abstract class for implementations of classification methods.
Definition at line 87 of file qgsclassificationmethod.h.
Defines the class position.
| Enumerator | |
|---|---|
| LowerBound | The class is at the lower bound. |
| Inner | The class is not at a bound. |
| UpperBound | The class is at the upper bound. |
Definition at line 120 of file qgsclassificationmethod.h.
Flags for the classification method.
| Enumerator | |
|---|---|
| NoFlag | No flag. |
| ValuesNotRequired | Deprecated since QGIS 3.12. |
| SymmetricModeAvailable | This allows using symmetric classification. |
Definition at line 110 of file qgsclassificationmethod.h.
|
explicit |
Creates a classification method.
| properties | The properties of the implemented method |
| codeComplexity | as the exponent in the big O notation |
Definition at line 40 of file qgsclassificationmethod.cpp.
|
virtual |
Definition at line 47 of file qgsclassificationmethod.cpp.
|
protected |
Add a parameter to the method.
The paramaeter is a processing parameter which will allow its configuration in the GUI.
Definition at line 181 of file qgsclassificationmethod.cpp.
| QList< QgsClassificationRange > QgsClassificationMethod::classes | ( | const QgsVectorLayer * | layer, |
| const QString & | expression, | ||
| int | nclasses | ||
| ) |
This will calculate the classes for a given layer to define the classes.
| layer | The vector layer |
| expression | The name of the field on which the classes are calculated |
| nclasses | The number of classes to be returned |
Definition at line 209 of file qgsclassificationmethod.cpp.
| QList< QgsClassificationRange > QgsClassificationMethod::classes | ( | const QList< double > & | values, |
| int | nclasses | ||
| ) |
This will calculate the classes for a list of values.
| values | The list of values |
| nclasses | The number of classes to be returned |
Definition at line 248 of file qgsclassificationmethod.cpp.
| QList< QgsClassificationRange > QgsClassificationMethod::classes | ( | double | minimum, |
| double | maximum, | ||
| int | nclasses | ||
| ) |
This will calculate the classes for defined bounds without any values.
| minimum | The minimum value for the breaks |
| maximum | The maximum value for the breaks |
| nclasses | The number of classes to be returned |
Definition at line 261 of file qgsclassificationmethod.cpp.
|
pure virtual |
Returns a clone of the method.
Implementation can take advantage of copyBase method which copies the parameters of the base class
Implemented in QgsClassificationStandardDeviation, QgsClassificationQuantile, QgsClassificationPrettyBreaks, QgsClassificationLogarithmic, QgsClassificationJenks, QgsClassificationEqualInterval, and QgsClassificationCustom.
|
inline |
Code complexity as the exponent in Big O notation.
Definition at line 173 of file qgsclassificationmethod.h.
|
protected |
Copy the parameters (shall be used in clone implementation)
Definition at line 52 of file qgsclassificationmethod.cpp.
|
static |
Reads the DOM element and return a new classification method from it.
| element | the DOM element |
| context | the read/write context |
Definition at line 61 of file qgsclassificationmethod.cpp.
|
protected |
Format the number according to label properties.
Definition at line 157 of file qgsclassificationmethod.cpp.
|
inlinevirtual |
The icon of the method.
Reimplemented in QgsClassificationStandardDeviation, QgsClassificationQuantile, QgsClassificationPrettyBreaks, QgsClassificationLogarithmic, QgsClassificationJenks, and QgsClassificationEqualInterval.
Definition at line 149 of file qgsclassificationmethod.h.
|
pure virtual |
The id of the method as saved in the project, must be unique in registry.
Implemented in QgsClassificationStandardDeviation, QgsClassificationQuantile, QgsClassificationPrettyBreaks, QgsClassificationLogarithmic, QgsClassificationJenks, QgsClassificationEqualInterval, and QgsClassificationCustom.
|
inline |
Returns the format of the label for the classes.
Definition at line 207 of file qgsclassificationmethod.h.
| QString QgsClassificationMethod::labelForRange | ( | const QgsRendererRange & | range, |
| QgsClassificationMethod::ClassPosition | position = Inner |
||
| ) | const |
Returns the label for a range.
Definition at line 331 of file qgsclassificationmethod.cpp.
|
virtual |
Returns the label for a range.
Reimplemented in QgsClassificationStandardDeviation, and QgsClassificationLogarithmic.
Definition at line 336 of file qgsclassificationmethod.cpp.
|
inline |
Returns the precision for the formatting of the labels.
Definition at line 211 of file qgsclassificationmethod.h.
|
inline |
Returns if the trailing 0 are trimmed in the label.
Definition at line 215 of file qgsclassificationmethod.h.
|
static |
Remove the breaks that are above the existing opposite sign classes to keep colors symmetrically balanced around symmetryPoint Does not put a break on the symmetryPoint.
This is done before.
| breaks | The breaks of an already-done classification |
| symmetryPoint | The point around which we want a symmetry |
| astride | A bool indicating if the symmetry is made astride the symmetryPoint or not ( [-1,1] vs. [-1,0][0,1] ) |
Definition at line 298 of file qgsclassificationmethod.cpp.
|
pure virtual |
The readable and translate name of the method.
Implemented in QgsClassificationStandardDeviation, QgsClassificationQuantile, QgsClassificationPrettyBreaks, QgsClassificationLogarithmic, QgsClassificationJenks, QgsClassificationEqualInterval, and QgsClassificationCustom.
| const QgsProcessingParameterDefinition * QgsClassificationMethod::parameterDefinition | ( | const QString & | parameterName | ) | const |
Returns the parameter from its name.
Definition at line 186 of file qgsclassificationmethod.cpp.
|
inline |
Returns the list of parameters.
Definition at line 284 of file qgsclassificationmethod.h.
|
inline |
Returns the values of the processing parameters.
One could use QgsProcessingParameters::parameterAsXxxx to retrieve the actual value of a parameter.
Definition at line 297 of file qgsclassificationmethod.h.
|
static |
Transforms a list of classes to a list of breaks.
Definition at line 31 of file qgsclassificationmethod.cpp.
|
inlinevirtual |
Reads extra information to apply it to the method.
Reimplemented in QgsClassificationStandardDeviation.
Definition at line 160 of file qgsclassificationmethod.h.
| QDomElement QgsClassificationMethod::save | ( | QDomDocument & | doc, |
| const QgsReadWriteContext & | context | ||
| ) | const |
Saves the method to a DOM element and return it.
| doc | the DOM document |
| context | the read/write context |
Definition at line 101 of file qgsclassificationmethod.cpp.
|
inline |
Defines the format of the labels for the classes, using %1 and %2 for the bounds.
Definition at line 209 of file qgsclassificationmethod.h.
| void QgsClassificationMethod::setLabelPrecision | ( | int | labelPrecision | ) |
Defines the precision for the formatting of the labels.
Definition at line 142 of file qgsclassificationmethod.cpp.
|
inline |
Defines if the trailing 0 are trimmed in the label.
Definition at line 217 of file qgsclassificationmethod.h.
| void QgsClassificationMethod::setParameterValues | ( | const QVariantMap & | values | ) |
Defines the values of the additional parameters.
Definition at line 197 of file qgsclassificationmethod.cpp.
| void QgsClassificationMethod::setSymmetricMode | ( | bool | enabled, |
| double | symmetryPoint = 0, |
||
| bool | symmetryAstride = false |
||
| ) |
Defines if the symmetric mode is enables and configures its parameters.
If the symmetric mode is not available in the current implementation, calling this method has no effect.
| enabled | if the symmetric mode is enabled |
| symmetryPoint | the value of the symmetry point |
| symmetryAstride | if true, it will remove the symmetry point break so that the 2 classes form only one |
Definition at line 135 of file qgsclassificationmethod.cpp.
|
inline |
Returns if the method supports symmetric calculation.
Definition at line 178 of file qgsclassificationmethod.h.
|
inline |
Returns if the symmetric mode is enabled.
Definition at line 183 of file qgsclassificationmethod.h.
|
inline |
Returns if the symmetric mode is astride if true, it will remove the symmetry point break so that the 2 classes form only one.
Definition at line 194 of file qgsclassificationmethod.h.
|
inline |
Returns the symmetry point for symmetric mode.
Definition at line 188 of file qgsclassificationmethod.h.
|
inlinevirtual |
Returns if the method requires values to calculate the classes If not, bounds are sufficient.
Reimplemented in QgsClassificationPrettyBreaks, QgsClassificationLogarithmic, QgsClassificationEqualInterval, and QgsClassificationCustom.
Definition at line 166 of file qgsclassificationmethod.h.
|
inlinevirtual |
Writes extra information about the method.
Reimplemented in QgsClassificationStandardDeviation.
Definition at line 158 of file qgsclassificationmethod.h.
|
static |
Definition at line 299 of file qgsclassificationmethod.h.
|
static |
Definition at line 300 of file qgsclassificationmethod.h.