Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsclassificationstandarddeviation.h 3 : : --------------------- 4 : : begin : September 2019 5 : : copyright : (C) 2019 by Denis Rouzaud 6 : : email : denis@opengis.ch 7 : : *************************************************************************** 8 : : * * 9 : : * This program is free software; you can redistribute it and/or modify * 10 : : * it under the terms of the GNU General Public License as published by * 11 : : * the Free Software Foundation; either version 2 of the License, or * 12 : : * (at your option) any later version. * 13 : : * * 14 : : ***************************************************************************/ 15 : : 16 : : #ifndef QGSCLASSIFICATIONSTANDARDDEVIATION_H 17 : : #define QGSCLASSIFICATIONSTANDARDDEVIATION_H 18 : : 19 : : #include "qgis_core.h" 20 : : #include "qgsclassificationmethod.h" 21 : : 22 : : /** 23 : : * \ingroup core 24 : : * \brief QgsClassificationCustom is an implementation of QgsClassificationMethod 25 : : * based on standard deviation 26 : : * \since QGIS 3.10 27 : : */ 28 : 10 : class CORE_EXPORT QgsClassificationStandardDeviation : public QgsClassificationMethod 29 : : { 30 : : public: 31 : : QgsClassificationStandardDeviation(); 32 : : 33 : : QString name() const override; 34 : : QString id() const override; 35 : : QgsClassificationMethod *clone() const override; 36 : : QIcon icon() const override; 37 : : QString labelForRange( double lowerValue, double upperValue, ClassPosition position ) const override; 38 : : void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const override; 39 : : void readXml( const QDomElement &element, const QgsReadWriteContext &context ) override; 40 : : 41 : : static const QString METHOD_ID; 42 : : 43 : : private: 44 : : QList<double> calculateBreaks( double &minimum, double &maximum, 45 : : const QList<double> &values, int nclasses ) override; 46 : : 47 : : QString valueToLabel( double value ) const override; 48 : : 49 : : double mStdDev = 1.0; 50 : : double mEffectiveSymmetryPoint = 0.0; 51 : : }; 52 : : 53 : : #endif // QGSCLASSIFICATIONSTANDARDDEVIATION_H