QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Utility class for calculating aggregates for a field (or expression) over the features from a vector layer. More...
#include <qgsaggregatecalculator.h>
Classes | |
struct | AggregateParameters |
A bundle of parameters controlling aggregate calculation. More... | |
Public Types | |
enum | Aggregate { Count, CountDistinct, CountMissing, Min, Max, Sum, Mean, Median, StDev, StDevSample, Range, Minority, Majority, FirstQuartile, ThirdQuartile, InterQuartileRange, StringMinimumLength, StringMaximumLength, StringConcatenate } |
Available aggregates to calculate. More... | |
Public Member Functions | |
QgsAggregateCalculator (QgsVectorLayer *layer) | |
Constructor for QgsAggregateCalculator. More... | |
QVariant | calculate (Aggregate aggregate, const QString &fieldOrExpression, QgsExpressionContext *context=nullptr, bool *ok=nullptr) const |
Calculates the value of an aggregate. More... | |
QString | delimiter () const |
Returns the delimiter used for joining values with the StringConcatenate aggregate. More... | |
QString | filter () const |
Returns the filter which limits the features used during the aggregate calculation. More... | |
QgsVectorLayer * | layer () const |
Returns the associated vector layer. More... | |
void | setDelimiter (const QString &delimiter) |
Sets the delimiter to use for joining values with the StringConcatenate aggregate. More... | |
void | setFilter (const QString &filterExpression) |
Sets a filter to limit the features used during the aggregate calculation. More... | |
void | setParameters (const AggregateParameters ¶meters) |
Sets all aggregate parameters from a parameter bundle. More... | |
Static Public Member Functions | |
static Aggregate | stringToAggregate (const QString &string, bool *ok=nullptr) |
Converts a string to a aggregate type. More... | |
Utility class for calculating aggregates for a field (or expression) over the features from a vector layer.
It is recommended that QgsVectorLayer::aggregate() is used rather then directly using this class, as the QgsVectorLayer method can handle delegating aggregate calculation to a data provider for remote calculation.
Definition at line 40 of file qgsaggregatecalculator.h.
Available aggregates to calculate.
Not all aggregates are available for all field types.
Definition at line 46 of file qgsaggregatecalculator.h.
QgsAggregateCalculator::QgsAggregateCalculator | ( | QgsVectorLayer * | layer | ) |
Constructor for QgsAggregateCalculator.
layer | vector layer to calculate aggregate from |
Definition at line 26 of file qgsaggregatecalculator.cpp.
QVariant QgsAggregateCalculator::calculate | ( | QgsAggregateCalculator::Aggregate | aggregate, |
const QString & | fieldOrExpression, | ||
QgsExpressionContext * | context = nullptr , |
||
bool * | ok = nullptr |
||
) | const |
Calculates the value of an aggregate.
aggregate | aggregate to calculate |
fieldOrExpression | source field or expression to use as basis for aggregated values. If an expression is used, then the context parameter must be set. |
context | expression context for evaluating expressions |
ok | if specified, will be set to true if aggregate calculation was successful |
Definition at line 43 of file qgsaggregatecalculator.cpp.
|
inline |
Returns the delimiter used for joining values with the StringConcatenate aggregate.
Definition at line 120 of file qgsaggregatecalculator.h.
|
inline |
Returns the filter which limits the features used during the aggregate calculation.
Definition at line 109 of file qgsaggregatecalculator.h.
QgsVectorLayer * QgsAggregateCalculator::layer | ( | ) | const |
Returns the associated vector layer.
Definition at line 32 of file qgsaggregatecalculator.cpp.
|
inline |
Sets the delimiter to use for joining values with the StringConcatenate aggregate.
delimiter | string delimiter |
Definition at line 115 of file qgsaggregatecalculator.h.
|
inline |
Sets a filter to limit the features used during the aggregate calculation.
filterExpression | expression for filtering features, or empty string to remove filter |
Definition at line 104 of file qgsaggregatecalculator.h.
void QgsAggregateCalculator::setParameters | ( | const AggregateParameters & | parameters | ) |
Sets all aggregate parameters from a parameter bundle.
parameters | aggregate parameters |
Definition at line 37 of file qgsaggregatecalculator.cpp.
|
static |
Converts a string to a aggregate type.
string | string to convert |
ok | if specified, will be set to true if conversion was successful |
Definition at line 123 of file qgsaggregatecalculator.cpp.