16 #ifndef QGSSTATISTICALSUMMARY_H
17 #define QGSSTATISTICALSUMMARY_H
22 #include "qgis_core.h"
51 CountMissing = 1 << 15,
63 FirstQuartile = 1 << 12,
64 ThirdQuartile = 1 << 13,
65 InterQuartileRange = 1 << 14,
68 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
70 Q_DECLARE_FLAGS( Statistics, Statistic )
93 void setStatistics( QgsStatisticalSummary::Statistics stats );
104 void calculate(
const QList<double> &values );
121 void addValue(
double value );
138 void addVariant(
const QVariant &value );
160 int count()
const {
return mCount; }
171 double sum()
const {
return mSum; }
177 double mean()
const {
return mMean; }
184 double median()
const {
return mMedian; }
190 double min()
const {
return mMin; }
196 double max()
const {
return mMax; }
202 double range()
const {
return std::isnan( mMax ) || std::isnan( mMin ) ? std::numeric_limits<double>::quiet_NaN() : mMax - mMin; }
210 double first()
const {
return mFirst; }
218 double last()
const {
return mLast; }
226 double stDev()
const {
return mStdev; }
241 int variety()
const {
return mValueCount.count(); }
286 double interQuartileRange()
const {
return std::isnan( mThirdQuartile ) || std::isnan( mFirstQuartile ) ? std::numeric_limits<double>::quiet_NaN() : mThirdQuartile - mFirstQuartile; }
303 Statistics mStatistics;
316 double mFirstQuartile;
317 double mThirdQuartile;
320 QMap< double, int > mValueCount;
321 QList< double > mValues;
322 bool mRequiresAllValueStorage =
false;
323 bool mRequiresHisto =
false;
Calculator for summary statistics for a list of doubles.
double firstQuartile() const
Returns the first quartile of the values.
Statistic
Enumeration of flags that specify statistics to be calculated.
double sum() const
Returns calculated sum of values.
double mean() const
Returns calculated mean of values.
double last() const
Returns the last value obtained.
double majority() const
Returns majority of values.
int countMissing() const
Returns the number of missing (null) values.
Statistics statistics() const
Returns flags which specify which statistics will be calculated.
double interQuartileRange() const
Returns the inter quartile range of the values.
double median() const
Returns calculated median of values.
double minority() const
Returns minority of values.
double sampleStDev() const
Returns sample standard deviation.
double min() const
Returns calculated minimum from values.
virtual ~QgsStatisticalSummary()=default
double first() const
Returns the first value obtained.
double stDev() const
Returns population standard deviation.
double thirdQuartile() const
Returns the third quartile of the values.
int count() const
Returns calculated count of values.
double range() const
Returns calculated range (difference between maximum and minimum values).
double max() const
Returns calculated maximum from values.
int variety() const
Returns variety of values.
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.