QGIS API Documentation  3.0.2-Girona (307d082)
Static Public Member Functions | List of all members
QgsProcessingParameters Class Reference

A collection of utilities for working with parameters when running a processing algorithm. More...

#include <qgsprocessingparameters.h>

Static Public Member Functions

static QString descriptionFromName (const QString &name)
 Creates an autogenerated parameter description from a parameter name. More...
 
static bool isDynamic (const QVariantMap &parameters, const QString &name)
 Returns true if the parameter with matching name is a dynamic parameter, and must be evaluated once for every input feature processed. More...
 
static bool parameterAsBool (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a static boolean value. More...
 
static QString parameterAsCompatibleSourceLayerPath (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat=QString("shp"), QgsProcessingFeedback *feedback=nullptr)
 Evaluates the parameter with matching definition to a source vector layer file path of compatible format. More...
 
static QgsCoordinateReferenceSystem parameterAsCrs (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a coordinate reference system. More...
 
static double parameterAsDouble (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a static double value. More...
 
static int parameterAsEnum (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a enum value. More...
 
static QList< int > parameterAsEnums (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to list of enum values. More...
 
static QString parameterAsExpression (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to an expression. More...
 
static QgsRectangle parameterAsExtent (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
 Evaluates the parameter with matching definition to a rectangular extent. More...
 
static QgsCoordinateReferenceSystem parameterAsExtentCrs (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Returns the coordinate reference system associated with an extent parameter value. More...
 
static QgsGeometry parameterAsExtentGeometry (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
 Evaluates the parameter with matching definition to a rectangular extent, and returns a geometry covering this extent. More...
 
static QStringList parameterAsFields (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a list of fields. More...
 
static QString parameterAsFile (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a file/folder name. More...
 
static QString parameterAsFileOutput (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a file based output destination. More...
 
static int parameterAsInt (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a static integer value. More...
 
static QgsMapLayerparameterAsLayer (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a map layer. More...
 
static QList< QgsMapLayer * > parameterAsLayerList (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a list of map layers. More...
 
static QVariantList parameterAsMatrix (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a matrix/table of values. More...
 
static QString parameterAsOutputLayer (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a output layer destination. More...
 
static QgsPointXY parameterAsPoint (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
 Evaluates the parameter with matching definition to a point. More...
 
static QgsCoordinateReferenceSystem parameterAsPointCrs (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Returns the coordinate reference system associated with an point parameter value. More...
 
static QList< double > parameterAsRange (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a range of values. More...
 
static QgsRasterLayerparameterAsRasterLayer (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a raster layer. More...
 
static QgsFeatureSinkparameterAsSink (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs, QgsProcessingContext &context, QString &destinationIdentifier)
 Evaluates the parameter with matching definition to a feature sink. More...
 
static QgsProcessingFeatureSourceparameterAsSource (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a feature source. More...
 
static QString parameterAsString (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a static string value. More...
 
static QgsVectorLayerparameterAsVectorLayer (const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
 Evaluates the parameter with matching definition to a vector layer. More...
 
static QgsProcessingParameterDefinitionparameterFromScriptCode (const QString &code)
 Creates a new QgsProcessingParameterDefinition using the configuration from a supplied script code string. More...
 
static QgsProcessingParameterDefinitionparameterFromVariantMap (const QVariantMap &map)
 Creates a new QgsProcessingParameterDefinition using the configuration from a supplied variant map. More...
 

Detailed Description

A collection of utilities for working with parameters when running a processing algorithm.

Parameters are stored in a QVariantMap and referenced by a unique string key. The QVariants in parameters are not usually accessed directly, and instead the high level API provided through QgsProcessingParameters parameterAsString(), parameterAsDouble() are used instead.

Parameters are evaluated using a provided QgsProcessingContext, allowing the evaluation to understand available map layers and expression contexts (for expression based parameters).

Since
QGIS 3.0

Definition at line 532 of file qgsprocessingparameters.h.

Member Function Documentation

◆ descriptionFromName()

QString QgsProcessingParameters::descriptionFromName ( const QString &  name)
static

Creates an autogenerated parameter description from a parameter name.

Definition at line 1090 of file qgsprocessingparameters.cpp.

◆ isDynamic()

bool QgsProcessingParameters::isDynamic ( const QVariantMap &  parameters,
const QString &  name 
)
static

Returns true if the parameter with matching name is a dynamic parameter, and must be evaluated once for every input feature processed.

Definition at line 30 of file qgsprocessingparameters.cpp.

◆ parameterAsBool()

bool QgsProcessingParameters::parameterAsBool ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a static boolean value.

Definition at line 200 of file qgsprocessingparameters.cpp.

◆ parameterAsCompatibleSourceLayerPath()

QString QgsProcessingParameters::parameterAsCompatibleSourceLayerPath ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context,
const QStringList &  compatibleFormats,
const QString &  preferredFormat = QString( "shp" ),
QgsProcessingFeedback feedback = nullptr 
)
static

Evaluates the parameter with matching definition to a source vector layer file path of compatible format.

If the parameter is evaluated to an existing layer, and that layer is not of the format listed in the compatibleFormats argument, then the layer will first be exported to a compatible format in a temporary location. The function will then return the path to that temporary file.

compatibleFormats should consist entirely of lowercase file extensions, e.g. 'shp'.

The preferredFormat argument is used to specify to desired file extension to use when a temporary layer export is required. This defaults to shapefiles, because shapefiles are the future (don't believe the geopackage hype!).

Definition at line 290 of file qgsprocessingparameters.cpp.

◆ parameterAsCrs()

QgsCoordinateReferenceSystem QgsProcessingParameters::parameterAsCrs ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a coordinate reference system.

Definition at line 464 of file qgsprocessingparameters.cpp.

◆ parameterAsDouble()

double QgsProcessingParameters::parameterAsDouble ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a static double value.

Definition at line 77 of file qgsprocessingparameters.cpp.

◆ parameterAsEnum()

int QgsProcessingParameters::parameterAsEnum ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a enum value.

Definition at line 130 of file qgsprocessingparameters.cpp.

◆ parameterAsEnums()

QList< int > QgsProcessingParameters::parameterAsEnums ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to list of enum values.

Definition at line 144 of file qgsprocessingparameters.cpp.

◆ parameterAsExpression()

QString QgsProcessingParameters::parameterAsExpression ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to an expression.

Definition at line 57 of file qgsprocessingparameters.cpp.

◆ parameterAsExtent()

QgsRectangle QgsProcessingParameters::parameterAsExtent ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context,
const QgsCoordinateReferenceSystem crs = QgsCoordinateReferenceSystem() 
)
static

Evaluates the parameter with matching definition to a rectangular extent.

If crs is set, and the original coordinate reference system of the parameter can be determined, then the extent will be automatically reprojected so that it is in the specified crs. In this case the extent of the reproject rectangle will be returned.

See also
parameterAsExtentGeometry()
parameterAsExtentCrs()

Definition at line 494 of file qgsprocessingparameters.cpp.

◆ parameterAsExtentCrs()

QgsCoordinateReferenceSystem QgsProcessingParameters::parameterAsExtentCrs ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Returns the coordinate reference system associated with an extent parameter value.

See also
parameterAsExtent()

Definition at line 692 of file qgsprocessingparameters.cpp.

◆ parameterAsExtentGeometry()

QgsGeometry QgsProcessingParameters::parameterAsExtentGeometry ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context,
const QgsCoordinateReferenceSystem crs = QgsCoordinateReferenceSystem() 
)
static

Evaluates the parameter with matching definition to a rectangular extent, and returns a geometry covering this extent.

If crs is set, and the original coordinate reference system of the parameter can be determined, then the extent will be automatically reprojected so that it is in the specified crs. Unlike parameterAsExtent(), the reprojected rectangle returned by this function will no longer be a rectangle itself (i.e. this method returns the geometry of the actual reprojected rectangle, while parameterAsExtent() returns just the extent of the reprojected rectangle).

See also
parameterAsExtent()
parameterAsExtentCrs()

Definition at line 592 of file qgsprocessingparameters.cpp.

◆ parameterAsFields()

QStringList QgsProcessingParameters::parameterAsFields ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a list of fields.

Definition at line 992 of file qgsprocessingparameters.cpp.

◆ parameterAsFile()

QString QgsProcessingParameters::parameterAsFile ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a file/folder name.

Definition at line 828 of file qgsprocessingparameters.cpp.

◆ parameterAsFileOutput()

QString QgsProcessingParameters::parameterAsFileOutput ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a file based output destination.

Definition at line 426 of file qgsprocessingparameters.cpp.

◆ parameterAsInt()

int QgsProcessingParameters::parameterAsInt ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a static integer value.

Definition at line 96 of file qgsprocessingparameters.cpp.

◆ parameterAsLayer()

QgsMapLayer * QgsProcessingParameters::parameterAsLayer ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a map layer.

Layers will either be taken from context's active project, or loaded from external sources and stored temporarily in the context. In either case, callers do not need to handle deletion of the returned layer.

Definition at line 333 of file qgsprocessingparameters.cpp.

◆ parameterAsLayerList()

QList< QgsMapLayer * > QgsProcessingParameters::parameterAsLayerList ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a list of map layers.

Definition at line 869 of file qgsprocessingparameters.cpp.

◆ parameterAsMatrix()

QVariantList QgsProcessingParameters::parameterAsMatrix ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a matrix/table of values.

Tables are collapsed to a 1 dimensional list.

Definition at line 839 of file qgsprocessingparameters.cpp.

◆ parameterAsOutputLayer()

QString QgsProcessingParameters::parameterAsOutputLayer ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a output layer destination.

Definition at line 375 of file qgsprocessingparameters.cpp.

◆ parameterAsPoint()

QgsPointXY QgsProcessingParameters::parameterAsPoint ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context,
const QgsCoordinateReferenceSystem crs = QgsCoordinateReferenceSystem() 
)
static

Evaluates the parameter with matching definition to a point.

If crs is set then the point will be automatically reprojected so that it is in the specified crs.

See also
parameterAsPointCrs()

Definition at line 728 of file qgsprocessingparameters.cpp.

◆ parameterAsPointCrs()

QgsCoordinateReferenceSystem QgsProcessingParameters::parameterAsPointCrs ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Returns the coordinate reference system associated with an point parameter value.

See also
parameterAsPoint()

Definition at line 798 of file qgsprocessingparameters.cpp.

◆ parameterAsRange()

QList< double > QgsProcessingParameters::parameterAsRange ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a range of values.

Definition at line 951 of file qgsprocessingparameters.cpp.

◆ parameterAsRasterLayer()

QgsRasterLayer * QgsProcessingParameters::parameterAsRasterLayer ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a raster layer.

Layers will either be taken from context's active project, or loaded from external sources and stored temporarily in the context. In either case, callers do not need to handle deletion of the returned layer.

Definition at line 370 of file qgsprocessingparameters.cpp.

◆ parameterAsSink()

QgsFeatureSink * QgsProcessingParameters::parameterAsSink ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsFields fields,
QgsWkbTypes::Type  geometryType,
const QgsCoordinateReferenceSystem crs,
QgsProcessingContext context,
QString &  destinationIdentifier 
)
static

Evaluates the parameter with matching definition to a feature sink.

The fields, geometryType and crs parameters dictate the properties of the resulting feature sink.

Sinks will either be taken from context's active project, or created from external providers and stored temporarily in the context. The destinationIdentifier argument will be set to a string which can be used to retrieve the layer corresponding to the sink, e.g. via calling QgsProcessingUtils::mapLayerFromString().

This function creates a new object and the caller takes responsibility for deleting the returned object.

Definition at line 216 of file qgsprocessingparameters.cpp.

◆ parameterAsSource()

QgsProcessingFeatureSource * QgsProcessingParameters::parameterAsSource ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a feature source.

Sources will either be taken from context's active project, or loaded from external sources and stored temporarily in the context.

This function creates a new object and the caller takes responsibility for deleting the returned object.

Definition at line 280 of file qgsprocessingparameters.cpp.

◆ parameterAsString()

QString QgsProcessingParameters::parameterAsString ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
const QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a static string value.

Definition at line 39 of file qgsprocessingparameters.cpp.

◆ parameterAsVectorLayer()

QgsVectorLayer * QgsProcessingParameters::parameterAsVectorLayer ( const QgsProcessingParameterDefinition definition,
const QVariantMap &  parameters,
QgsProcessingContext context 
)
static

Evaluates the parameter with matching definition to a vector layer.

Layers will either be taken from context's active project, or loaded from external sources and stored temporarily in the context. In either case, callers do not need to handle deletion of the returned layer.

Definition at line 459 of file qgsprocessingparameters.cpp.

◆ parameterFromScriptCode()

QgsProcessingParameterDefinition * QgsProcessingParameters::parameterFromScriptCode ( const QString &  code)
static

Creates a new QgsProcessingParameterDefinition using the configuration from a supplied script code string.

The caller takes responsibility for deleting the returned object.

Definition at line 1097 of file qgsprocessingparameters.cpp.

◆ parameterFromVariantMap()

QgsProcessingParameterDefinition * QgsProcessingParameters::parameterFromVariantMap ( const QVariantMap &  map)
static

Creates a new QgsProcessingParameterDefinition using the configuration from a supplied variant map.

The caller takes responsibility for deleting the returned object.

Definition at line 1031 of file qgsprocessingparameters.cpp.


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