QGIS/python/core/auto_generated/qgsaggregatecalculator.sip.in

162 lines
4.5 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsaggregatecalculator.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsAggregateCalculator
{
%Docstring
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.
.. versionadded:: 2.16
%End
%TypeHeaderCode
#include "qgsaggregatecalculator.h"
%End
public:
struct AggregateInfo
{
QString function; //!< The expression function
QString name; //!< A translated, human readable name
QSet<QVariant::Type> supportedTypes; //!< This aggregate function can only be used with these datatypes
};
enum Aggregate
{
Count,
CountDistinct,
CountMissing,
Min,
Max,
Sum,
Mean,
Median,
StDev,
StDevSample,
Range,
Minority,
Majority,
FirstQuartile,
ThirdQuartile,
InterQuartileRange,
StringMinimumLength,
StringMaximumLength,
StringConcatenate,
GeometryCollect,
ArrayAggregate
};
struct AggregateParameters
{
QString filter;
QString delimiter;
};
QgsAggregateCalculator( const QgsVectorLayer *layer );
%Docstring
Constructor for QgsAggregateCalculator.
:param layer: vector layer to calculate aggregate from
%End
const QgsVectorLayer *layer() const;
%Docstring
Returns the associated vector layer.
%End
void setParameters( const AggregateParameters &parameters );
%Docstring
Sets all aggregate parameters from a parameter bundle.
:param parameters: aggregate parameters
%End
void setFilter( const QString &filterExpression );
%Docstring
Sets a filter to limit the features used during the aggregate calculation.
:param filterExpression: expression for filtering features, or empty string to remove filter
.. seealso:: :py:func:`filter`
%End
QString filter() const;
%Docstring
Returns the filter which limits the features used during the aggregate calculation.
.. seealso:: :py:func:`setFilter`
%End
void setDelimiter( const QString &delimiter );
%Docstring
Sets the delimiter to use for joining values with the StringConcatenate aggregate.
:param delimiter: string delimiter
.. seealso:: :py:func:`delimiter`
%End
QString delimiter() const;
%Docstring
Returns the delimiter used for joining values with the StringConcatenate aggregate.
.. seealso:: :py:func:`setDelimiter`
%End
QVariant calculate( Aggregate aggregate, const QString &fieldOrExpression,
QgsExpressionContext *context = 0, bool *ok = 0 ) const;
%Docstring
Calculates the value of an aggregate.
:param aggregate: aggregate to calculate
:param fieldOrExpression: source field or expression to use as basis for aggregated values.
If an expression is used, then the context parameter must be set.
:param context: expression context for evaluating expressions
:param ok: if specified, will be set to true if aggregate calculation was successful
:return: calculated aggregate value
%End
static Aggregate stringToAggregate( const QString &string, bool *ok = 0 );
%Docstring
Converts a string to a aggregate type.
:param string: string to convert
:param ok: if specified, will be set to true if conversion was successful
:return: aggregate type
%End
static QList< QgsAggregateCalculator::AggregateInfo > aggregates();
%Docstring
Structured information for available aggregates.
.. versionadded:: 3.2
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsaggregatecalculator.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/