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

New in version 3.0: Enums

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.

parameterAsBoolean

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.

parameterAsLayout

Evaluates the parameter with matching definition to a print layout.

parameterAsLayoutItem

Evaluates the parameter with matching definition to a print layout item, taken from the specified layout.

parameterAsMatrix

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

parameterAsMeshLayer

Evaluates the parameter with matching definition and value to a mesh layer.

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.

Signals

Attributes

descriptionFromName(name: str) → str

Creates an autogenerated parameter description from a parameter name.

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.

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.

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

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

New in version 3.8.

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

New in version 3.8.

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

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.

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.

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.

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.

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.

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.

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

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

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

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.

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.

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.

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.

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.

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.

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.

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

Evaluates the parameter with matching definition to a print layout.

Warning

This method is not safe to run in a background thread, so it must either be used within a prepareAlgorithm implementation (which runs in the main thread), or the algorithm must return the FlagNoThreading flag.

New in version 3.8.

parameterAsLayout(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsPrintLayout Evaluates the parameter with matching definition and value to a print layout.

Warning

This method is not safe to run in a background thread, so it must either be used within a prepareAlgorithm implementation (which runs in the main thread), or the algorithm must return the FlagNoThreading flag.

New in version 3.8.

parameterAsLayoutItem(definition: QgsProcessingParameterDefinition, parameters: Dict[str, Any], context: QgsProcessingContext, layout: QgsPrintLayout) → QgsLayoutItem

Evaluates the parameter with matching definition to a print layout item, taken from the specified layout.

Warning

This method is not safe to run in a background thread, so it must either be used within a prepareAlgorithm implementation (which runs in the main thread), or the algorithm must return the FlagNoThreading flag.

New in version 3.8.

parameterAsLayoutItem(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext, layout: QgsPrintLayout) -> QgsLayoutItem Evaluates the parameter with matching definition and value to a print layout, taken from the specified layout.

Warning

This method is not safe to run in a background thread, so it must either be used within a prepareAlgorithm implementation (which runs in the main thread), or the algorithm must return the FlagNoThreading flag.

New in version 3.8.

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.

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

Evaluates the parameter with matching definition and value to a mesh 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.6.

parameterAsMeshLayer(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsMeshLayer Evaluates the parameter with matching definition and value to a mesh 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.6.

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.

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.

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

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

parameterAsPointCrs(definition: QgsProcessingParameterDefinition, value: Any, context: QgsProcessingContext) -> QgsCoordinateReferenceSystem Returns the coordinate reference system associated with an point parameter value.

New in version 3.8.

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.

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.

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.

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.

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.

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.

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.

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.