QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsSizeScaleTransformer Class Reference

QgsPropertyTransformer subclass for scaling a value into a size according to various scaling methods. More...

#include <qgspropertytransformer.h>

Inheritance diagram for QgsSizeScaleTransformer:
Inheritance graph
[legend]

Public Types

enum  ScaleType { Linear, Area, Flannery, Exponential }
 Size scaling methods. More...
 
- Public Types inherited from QgsPropertyTransformer
enum  Type { GenericNumericTransformer, SizeScaleTransformer, ColorRampTransformer }
 Transformer types. More...
 

Public Member Functions

 QgsSizeScaleTransformer (ScaleType type=Linear, double minValue=0.0, double maxValue=1.0, double minSize=0.0, double maxSize=1.0, double nullSize=0.0, double exponent=1.0)
 Constructor for QgsSizeScaleTransformer. More...
 
QgsSizeScaleTransformerclone () const override
 Returns a clone of the transformer. More...
 
double exponent () const
 Returns the exponent for an exponential expression. More...
 
bool loadVariant (const QVariant &definition) override
 Loads this transformer from a QVariantMap, wrapped in a QVariant. More...
 
double maxSize () const
 Returns the maximum calculated size. More...
 
double minSize () const
 Returns the minimum calculated size. More...
 
double nullSize () const
 Returns the size value when an expression evaluates to NULL. More...
 
void setExponent (double exponent)
 Sets the exponent for an exponential expression. More...
 
void setMaxSize (double size)
 Sets the maximum calculated size. More...
 
void setMinSize (double size)
 Sets the minimum calculated size. More...
 
void setNullSize (double size)
 Sets the size value for when an expression evaluates to NULL. More...
 
void setType (ScaleType type)
 Sets the size transformer's scaling type (the method used to calculate the size from a value). More...
 
double size (double value) const
 Calculates the size corresponding to a specific value. More...
 
QString toExpression (const QString &baseExpression) const override
 Converts the transformer to a QGIS expression string. More...
 
QVariant toVariant () const override
 Saves this transformer to a QVariantMap, wrapped in a QVariant. More...
 
QVariant transform (const QgsExpressionContext &context, const QVariant &value) const override
 Calculates the transform of a value. More...
 
Type transformerType () const override
 Returns the transformer type. More...
 
ScaleType type () const
 Returns the size transformer's scaling type (the method used to calculate the size from a value). More...
 
- Public Member Functions inherited from QgsPropertyTransformer
 QgsPropertyTransformer (double minValue=0.0, double maxValue=1.0)
 Constructor for QgsPropertyTransformer. More...
 
 QgsPropertyTransformer (const QgsPropertyTransformer &other)
 Copy constructor. More...
 
virtual ~QgsPropertyTransformer ()=default
 
QgsCurveTransformcurveTransform () const
 Returns the curve transform applied to input values before they are transformed by the individual transform subclasses. More...
 
double maxValue () const
 Returns the maximum value expected by the transformer. More...
 
double minValue () const
 Returns the minimum value expected by the transformer. More...
 
QgsPropertyTransformeroperator= (const QgsPropertyTransformer &other)
 
void setCurveTransform (QgsCurveTransform *transform)
 Sets a curve transform to apply to input values before they are transformed by the individual transform subclasses. More...
 
void setMaxValue (double max)
 Sets the maximum value expected by the transformer. More...
 
void setMinValue (double min)
 Sets the minimum value expected by the transformer. More...
 

Static Public Member Functions

static QgsSizeScaleTransformerfromExpression (const QString &expression, QString &baseExpression, QString &fieldName)
 Attempts to parse an expression into a corresponding QgsSizeScaleTransformer. More...
 
- Static Public Member Functions inherited from QgsPropertyTransformer
static QgsPropertyTransformercreate (Type type)
 Factory method for creating a new property transformer of the specified type. More...
 
static QgsPropertyTransformerfromExpression (const QString &expression, QString &baseExpression, QString &fieldName)
 Attempts to parse an expression into a corresponding property transformer. More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsPropertyTransformer
double transformNumeric (double input) const
 Applies base class numeric transformations. More...
 
- Protected Attributes inherited from QgsPropertyTransformer
std::unique_ptr< QgsCurveTransformmCurveTransform
 Optional curve transform. More...
 
double mMaxValue
 Maximum value expected by the transformer. More...
 
double mMinValue
 Minimum value expected by the transformer. More...
 

Detailed Description

QgsPropertyTransformer subclass for scaling a value into a size according to various scaling methods.

Since
QGIS 3.0

Definition at line 461 of file qgspropertytransformer.h.

Member Enumeration Documentation

Size scaling methods.

Enumerator
Linear 

Linear scaling.

Area 

Area based scaling.

Flannery 

Flannery scaling method.

Exponential 

Scale using set exponent.

Definition at line 466 of file qgspropertytransformer.h.

Constructor & Destructor Documentation

QgsSizeScaleTransformer::QgsSizeScaleTransformer ( ScaleType  type = Linear,
double  minValue = 0.0,
double  maxValue = 1.0,
double  minSize = 0.0,
double  maxSize = 1.0,
double  nullSize = 0.0,
double  exponent = 1.0 
)

Constructor for QgsSizeScaleTransformer.

Parameters
typescaling type
minValueminimum expected value
maxValuemaximum expected value
minSizeminimum size to return
maxSizemaximum size to return
nullSizesize to return for null values
exponentexponent for Exponential scaling method

Definition at line 299 of file qgspropertytransformer.cpp.

Member Function Documentation

QgsSizeScaleTransformer * QgsSizeScaleTransformer::clone ( ) const
overridevirtual

Returns a clone of the transformer.

Implements QgsPropertyTransformer.

Definition at line 309 of file qgspropertytransformer.cpp.

double QgsSizeScaleTransformer::exponent ( ) const
inline

Returns the exponent for an exponential expression.

See also
setExponent()
type()

Definition at line 567 of file qgspropertytransformer.h.

QgsSizeScaleTransformer * QgsSizeScaleTransformer::fromExpression ( const QString &  expression,
QString &  baseExpression,
QString &  fieldName 
)
static

Attempts to parse an expression into a corresponding QgsSizeScaleTransformer.

Parameters
expressionexpression to parse
baseExpressionwill be set to the component of the source expression which is used to calculate the input to the property transformer. This will be set to an empty string if a field reference is the transformer input.
fieldNamewill be set to a field name which is used to calculate the input to the property transformer. This will be set to an empty string if an expression is the transformer input.
Returns
corresponding QgsSizeScaleTransformer, or nullptr if expression could not be parsed to a size scale transformer.

Definition at line 433 of file qgspropertytransformer.cpp.

bool QgsSizeScaleTransformer::loadVariant ( const QVariant &  transformer)
overridevirtual

Loads this transformer from a QVariantMap, wrapped in a QVariant.

You can use QgsXmlUtils::readVariant to read it from an XML document.

See also
toVariant()

Reimplemented from QgsPropertyTransformer.

Definition at line 336 of file qgspropertytransformer.cpp.

double QgsSizeScaleTransformer::maxSize ( ) const
inline

Returns the maximum calculated size.

See also
minSize()

Definition at line 539 of file qgspropertytransformer.h.

double QgsSizeScaleTransformer::minSize ( ) const
inline

Returns the minimum calculated size.

See also
setMinSize()
maxSize()

Definition at line 525 of file qgspropertytransformer.h.

double QgsSizeScaleTransformer::nullSize ( ) const
inline

Returns the size value when an expression evaluates to NULL.

See also
setNullSize()

Definition at line 553 of file qgspropertytransformer.h.

void QgsSizeScaleTransformer::setExponent ( double  exponent)
inline

Sets the exponent for an exponential expression.

Parameters
exponentexponent
See also
exponent()

Definition at line 574 of file qgspropertytransformer.h.

void QgsSizeScaleTransformer::setMaxSize ( double  size)
inline

Sets the maximum calculated size.

Parameters
sizemaximum size
See also
maxSize()
setMinSize()

Definition at line 547 of file qgspropertytransformer.h.

void QgsSizeScaleTransformer::setMinSize ( double  size)
inline

Sets the minimum calculated size.

Parameters
sizeminimum size
See also
minSize()
setMaxSize()

Definition at line 533 of file qgspropertytransformer.h.

void QgsSizeScaleTransformer::setNullSize ( double  size)
inline

Sets the size value for when an expression evaluates to NULL.

Parameters
sizenull size
See also
nullSize()

Definition at line 560 of file qgspropertytransformer.h.

void QgsSizeScaleTransformer::setType ( QgsSizeScaleTransformer::ScaleType  type)

Sets the size transformer's scaling type (the method used to calculate the size from a value).

Parameters
typescale type
See also
type()

Definition at line 369 of file qgspropertytransformer.cpp.

double QgsSizeScaleTransformer::size ( double  value) const

Calculates the size corresponding to a specific value.

Parameters
valuevalue to calculate size for
Returns
calculated size using size scale transformer's parameters and type

Definition at line 351 of file qgspropertytransformer.cpp.

QString QgsSizeScaleTransformer::toExpression ( const QString &  baseExpression) const
overridevirtual

Converts the transformer to a QGIS expression string.

The baseExpression string consists of a sub-expression reflecting the parent property's state.

Implements QgsPropertyTransformer.

Definition at line 410 of file qgspropertytransformer.cpp.

QVariant QgsSizeScaleTransformer::toVariant ( ) const
overridevirtual

Saves this transformer to a QVariantMap, wrapped in a QVariant.

You can use QgsXmlUtils::writeVariant to save it to an XML document.

See also
loadVariant()

Reimplemented from QgsPropertyTransformer.

Definition at line 323 of file qgspropertytransformer.cpp.

QVariant QgsSizeScaleTransformer::transform ( const QgsExpressionContext context,
const QVariant &  value 
) const
overridevirtual

Calculates the transform of a value.

Derived classes must implement this to perform their transformations on input values

Parameters
contextexpression context
valueinput value to transform

Implements QgsPropertyTransformer.

Definition at line 389 of file qgspropertytransformer.cpp.

Type QgsSizeScaleTransformer::transformerType ( ) const
inlineoverridevirtual

Returns the transformer type.

Implements QgsPropertyTransformer.

Definition at line 492 of file qgspropertytransformer.h.

ScaleType QgsSizeScaleTransformer::type ( ) const
inline

Returns the size transformer's scaling type (the method used to calculate the size from a value).

See also
setType()

Definition at line 581 of file qgspropertytransformer.h.


The documentation for this class was generated from the following files: