QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
16 #ifndef QGSCLASSIFICATIONMETHOD_H
17 #define QGSCLASSIFICATIONMETHOD_H
22 #include "qgis_core.h"
55 , mLowerBound( lowerBound )
56 , mUpperBound( upperBound )
64 QString
label()
const {
return mLabel;}
67 SIP_PYOBJECT __repr__();
69 QString
str = QStringLiteral(
"<QgsClassificationRange: '%1'>" ).arg( sipCpp->label() );
70 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
94 sipType = sipType_QgsClassificationEqualInterval;
96 sipType = sipType_QgsClassificationJenks;
98 sipType = sipType_QgsClassificationPrettyBreaks;
100 sipType = sipType_QgsClassificationQuantile;
102 sipType = sipType_QgsClassificationStandardDeviation;
104 sipType = sipType_QgsClassificationFixedInterval;
116 ValuesNotRequired = 1 << 1,
117 SymmetricModeAvailable = 1 << 2,
118 IgnoresClassCount = 1 << 3,
120 Q_DECLARE_FLAGS( MethodProperties, MethodProperty )
147 virtual QString name()
const = 0;
150 virtual QString id()
const = 0;
153 virtual QIcon
icon()
const {
return QIcon();}
160 QgsClassificationMethod::MethodProperties
flags()
const {
return mFlags; }
165 virtual QString labelForRange(
double lowerValue,
double upperValue, ClassPosition position = Inner )
const;
214 void setSymmetricMode(
bool enabled,
double symmetryPoint = 0,
bool symmetryAstride =
false );
224 void setLabelPrecision(
int labelPrecision );
231 static QList<double> rangesToBreaks(
const QList<QgsClassificationRange> &classes );
239 QList<QgsClassificationRange> classes(
const QgsVectorLayer *layer,
const QString &expression,
int nclasses );
246 QList<QgsClassificationRange> classes(
const QList<double> &values,
int nclasses );
255 QList<QgsClassificationRange> classes(
double minimum,
double maximum,
int nclasses );
278 static void makeBreaksSymmetric( QList<double> &breaks
SIP_INOUT,
double symmetryPoint,
bool astride );
283 QString labelForRange(
const QgsRendererRange &range, ClassPosition position = Inner )
const;
301 void setParameterValues(
const QVariantMap &values );
319 QString formatNumber(
double value )
const;
337 virtual QList<double> calculateBreaks(
double &minimum,
double &maximum,
338 const QList<double> &values,
int nclasses ) = 0;
341 virtual QString valueToLabel(
double value )
const {
return formatNumber( value );}
344 QList<QgsClassificationRange> breaksToClasses(
const QList<double> &breaks )
const;
347 MethodProperties mFlags = MethodProperties();
348 int mCodeComplexity = 1;
352 bool mSymmetricEnabled =
false;
353 double mSymmetryPoint = 0;
354 bool mSymmetryAstride =
false;
355 int mLabelPrecision = 4;
356 bool mLabelTrimTrailingZeroes =
true;
357 QString mLabelFormat;
360 double mLabelNumberScale = 1.0;
361 QString mLabelNumberSuffix;
365 QVariantMap mParameterValues;
370 #endif // QGSCLASSIFICATIONMETHOD_H
QgsClassificationMethod is an abstract class for implementations of classification methods.
QgsClassificationRange(const QString &label, double lowerBound, double upperBound)
Constructor.
The class is used as a container of context for various read/write operations on other objects.
QgsClassificationPrettyBreaks is an implementation of QgsClassificationMethod for pretty breaks.
virtual QIcon icon() const
The icon of the method.
bool symmetryAstride() const
Returns if the symmetric mode is astride if true, it will remove the symmetry point break so that the...
virtual void writeXml(QDomElement &element, const QgsReadWriteContext &context) const
Writes extra information about the method.
Base class for the definition of processing parameters.
int codeComplexity() const
Code complexity as the exponent in Big O notation.
virtual bool valuesRequired() const
Returns if the method requires values to calculate the classes If not, bounds are sufficient.
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
QgsProcessingParameterDefinitions parameterDefinitions() const
Returns the list of parameters.
QgsClassificationEqualInterval is an implementation of QgsClassificationMethod for equal intervals.
QgsClassificationQuantile is an implementation of QgsClassificationMethod based on quantiles.
double symmetryPoint() const
Returns the symmetry point for symmetric mode.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
@ LowerBound
The class is at the lower bound.
int labelPrecision() const
Returns the precision for the formatting of the labels.
QString label() const
Returns the lower bound.
void setLabelFormat(const QString &format)
Defines the format of the labels for the classes, using %1 and %2 for the bounds.
static const int MIN_PRECISION
bool symmetricModeEnabled() const
Returns if the symmetric mode is enabled.
QgsClassificationMethod::MethodProperties flags() const
Returns the classification flags.
static const int MAX_PRECISION
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
bool labelTrimTrailingZeroes() const
Returns if the trailing 0 are trimmed in the label.
Implementation of a fixed interval classification.
@ Inner
The class is not at a bound.
double upperBound() const
Returns the upper bound.
MethodProperty
Flags for the classification method.
double lowerBound() const
Returns the lower bound.
virtual void readXml(const QDomElement &element, const QgsReadWriteContext &context)
Reads extra information to apply it to the method.
QgsClassificationRange contains the information about a classification range.
QString labelFormat() const
Returns the format of the label for the classes.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Represents a vector layer which manages a vector based data sets.
ClassPosition
Defines the class position.
void setLabelTrimTrailingZeroes(bool trimTrailingZeroes)
Defines if the trailing 0 are trimmed in the label.
QgsClassificationJenks is an implementation of QgsClassificationMethod for natural breaks based on Je...
QgsClassificationCustom is an implementation of QgsClassificationMethod based on standard deviation.
QVariantMap parameterValues() const
Returns the values of the processing parameters.
bool symmetricModeAvailable() const
Returns if the method supports symmetric calculation.