Class: QgsProcessingParameters

class qgis.core.QgsProcessingParameters

Bases: sip.wrapper

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).

Methods

descriptionFromName

Creates an autogenerated parameter description from a parameter name.

isDynamic

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

parameterAsBool

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

parameterAsCompatibleSourceLayerPath

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

parameterAsCrs

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

parameterAsDouble

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

parameterAsEnum

Evaluates the parameter with matching definition to a enum value.

parameterAsEnums

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

parameterAsExpression

Evaluates the parameter with matching definition to an expression.

parameterAsExtent

Evaluates the parameter with matching definition to a rectangular extent.

parameterAsExtentCrs

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

parameterAsExtentGeometry

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

parameterAsFields

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

parameterAsFile

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

parameterAsFileOutput

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

parameterAsInt

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

parameterAsInts

Evaluates the parameter with matching definition to a list of integer values.

parameterAsLayer

Evaluates the parameter with matching definition to a map layer.

parameterAsLayerList

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

parameterAsMatrix

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

parameterAsOutputLayer

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

parameterAsPoint

Evaluates the parameter with matching definition to a point.

parameterAsPointCrs

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

parameterAsRange

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

parameterAsRasterLayer

Evaluates the parameter with matching definition to a raster layer.

parameterAsSink

Evaluates the parameter with matching definition to a feature sink.

parameterAsSource

Evaluates the parameter with matching definition to a feature source.

parameterAsString

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

parameterAsVectorLayer

Evaluates the parameter with matching definition to a vector layer.

parameterFromScriptCode

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

parameterFromVariantMap

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

descriptionFromName(name: str) → str

Creates an autogenerated parameter description from a parameter name.

Parameters

name (str) –

Return type

str

isDynamic(parameters: Dict[str, Any], name: str) → bool

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

Parameters
  • parameters (Dict[str) –

  • name (str) –

Return type

bool

parameterAsBool(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → bool

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

parameterAsBool(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> bool Evaluates the parameter with matching definition and value to a static boolean value.

New in version 3.4.

Parameters
Return type

bool

parameterAsCompatibleSourceLayerPath(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext, compatibleFormats: Iterable[str], preferredFormat: str = '', feedback: QgsProcessingFeedback = None) → str

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!).

Parameters
Return type

str

parameterAsCrs(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsCoordinateReferenceSystem

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

parameterAsCrs(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsCoordinateReferenceSystem Evaluates the parameter with matching definition and value to a coordinate reference system.

New in version 3.4.

Parameters
Return type

QgsCoordinateReferenceSystem

parameterAsDouble(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → float

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

parameterAsDouble(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> float Evaluates the parameter with matching definition and value to a static double value.

New in version 3.4.

Parameters
Return type

float

parameterAsEnum(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → int

Evaluates the parameter with matching definition to a enum value.

parameterAsEnum(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> int Evaluates the parameter with matching definition and value to a enum value.

New in version 3.4.

Parameters
Return type

int

parameterAsEnums(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[int]

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

parameterAsEnums(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[int] Evaluates the parameter with matching definition and value to list of enum values.

New in version 3.4.

Parameters
Return type

List[int]

parameterAsExpression(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → str

Evaluates the parameter with matching definition to an expression.

parameterAsExpression(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> str Evaluates the parameter with matching definitionand value to an expression.

New in version 3.4.

Parameters
Return type

str

parameterAsExtent(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsRectangle

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.

parameterAsExtent(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) -> QgsRectangle Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

QgsRectangle

parameterAsExtentCrs(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsCoordinateReferenceSystem

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

Parameters
Return type

QgsCoordinateReferenceSystem

parameterAsExtentGeometry(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsGeometry

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).

Parameters
Return type

QgsGeometry

parameterAsFields(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[str]

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

parameterAsFields(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[str] Evaluates the parameter with matching definition and value to a list of fields.

New in version 3.4.

Parameters
Return type

List[str]

parameterAsFile(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → str

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

parameterAsFile(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> str Evaluates the parameter with matching definition and value to a file/folder name.

New in version 3.4.

Parameters
Return type

str

parameterAsFileOutput(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → str

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

parameterAsFileOutput(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> str Evaluates the parameter with matching definition and value to a file based output destination.

New in version 3.4.

Parameters
Return type

str

parameterAsInt(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → int

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

parameterAsInt(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> int Evaluates the parameter with matching definition and value to a static integer value.

New in version 3.4.

Parameters
Return type

int

parameterAsInts(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[int]

Evaluates the parameter with matching definition to a list of integer values.

New in version 3.4.

parameterAsInts(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[int] Evaluates the parameter with matching definition and value to a list of integer values.

New in version 3.4.

Parameters
Return type

List[int]

parameterAsLayer(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsMapLayer

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.

parameterAsLayer(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsMapLayer Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

QgsMapLayer

parameterAsLayerList(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[QgsMapLayer]

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

parameterAsLayerList(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[QgsMapLayer] Evaluates the parameter with matching definition and value to a list of map layers.

New in version 3.4.

Parameters
Return type

List[QgsMapLayer]

parameterAsMatrix(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[Any]

Evaluates the parameter with matching definition to a matrix/table of values. Tables are collapsed to a 1 dimensional list.

parameterAsMatrix(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[Any] Evaluates the parameter with matching definition and value to a matrix/table of values. Tables are collapsed to a 1 dimensional list.

New in version 3.4.

Parameters
Return type

List[Any]

parameterAsOutputLayer(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → str

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

parameterAsOutputLayer(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> str Evaluates the parameter with matching definition and value to a output layer destination.

New in version 3.4.

Parameters
Return type

str

parameterAsPoint(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsPointXY

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.

parameterAsPoint(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) -> QgsPointXY Evaluates the parameter with matching definition and value to a point.

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

New in version 3.4.

Parameters
Return type

QgsPointXY

parameterAsPointCrs(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsCoordinateReferenceSystem

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

Parameters
Return type

QgsCoordinateReferenceSystem

parameterAsRange(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → List[float]

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

parameterAsRange(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> List[float] Evaluates the parameter with matching definition and value to a range of values.

New in version 3.4.

Parameters
Return type

List[float]

parameterAsRasterLayer(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsRasterLayer

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.

parameterAsRasterLayer(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsRasterLayer Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

QgsRasterLayer

parameterAsSink(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], fields: QgsFields, geometryType: QgsWkbTypes.Type, crs: QgsCoordinateReferenceSystem, context: QgsProcessingContext, sinkFlags: Union[QgsFeatureSink.SinkFlags, QgsFeatureSink.SinkFlag] = 0) → Tuple[QgsFeatureSink, str]

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.

parameterAsSink(definition: QgsProcessingParameterDefinition, value: Any, fields: QgsFields, geometryType: QgsWkbTypes.Type, crs: QgsCoordinateReferenceSystem, context: QgsProcessingContext, sinkFlags: Union[QgsFeatureSink.SinkFlags, QgsFeatureSink.SinkFlag] = 0) -> Tuple[QgsFeatureSink, str] Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

Tuple[QgsFeatureSink, str]

parameterAsSource(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsProcessingFeatureSource

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.

parameterAsSource(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsProcessingFeatureSource Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

QgsProcessingFeatureSource

parameterAsString(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → str

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

parameterAsString(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> str Evaluates the parameter with matching definition and value to a static string value.

New in version 3.4.

Parameters
Return type

str

parameterAsVectorLayer(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsVectorLayer

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.

parameterAsVectorLayer(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsVectorLayer Evaluates the parameter with matching definition and value 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.

New in version 3.4.

Parameters
Return type

QgsVectorLayer

parameterFromScriptCode(code: str) → QgsProcessingParameterDefinition

Creates a new QgsProcessingParameterDefinition using the configuration from a supplied script code string. The caller takes responsibility for deleting the returned object.

Parameters

code (str) –

Return type

QgsProcessingParameterDefinition

parameterFromVariantMap(map: Dict[str, Any]) → QgsProcessingParameterDefinition

Creates a new QgsProcessingParameterDefinition using the configuration from a supplied variant map. The caller takes responsibility for deleting the returned object.

Parameters

map (Dict[str) –

Return type

QgsProcessingParameterDefinition