Class: QgsProcessingModelAlgorithm¶
-
class
qgis.core.
QgsProcessingModelAlgorithm
(name: str = '', group: str = '', groupId: str = '')¶ Bases:
QgsProcessingAlgorithm
Constructor for QgsProcessingModelAlgorithm.
Model based algorithm with processing.
New in version 3.0.
- Parameters
name (str = '') –
group (str = '') –
groupId –
-
class
VariableDefinition
(value: Any = None, source: QgsProcessingModelChildParameterSource = QgsProcessingModelChildParameterSource.fromStaticValue(QVariant()), description: str = '')¶ Bases:
sip.wrapper
Constructor for a new VariableDefinition with the specified
value
and original parametersource
, anddescription
.QgsProcessingModelAlgorithm.VariableDefinition(QgsProcessingModelAlgorithm.VariableDefinition)
Definition of a expression context variable available during model execution.
New in version 3.0.
- Parameters
value (Any = None) –
source (
QgsProcessingModelChildParameterSource
= QgsProcessingModelChildParameterSource.fromStaticValue(QVariant())) –description (str = '') –
-
description
¶
-
source
¶
-
value
¶
-
activateChildAlgorithm
(self, id: str) → bool¶ Attempts to activate the child algorithm with matching
id
. If any child algorithms on which the child depends are not active, then the child will not be activated andFalse
will be returned.See also
- Parameters
id (str) –
- Return type
bool
-
addChildAlgorithm
(self, algorithm: QgsProcessingModelChildAlgorithm) → str¶ Adds a new child
algorithm
to the model. If a child algorithm already exists in the model with the same child ID thenalgorithm
will be assigned a new autogenerated unique ID. The assigned child ID will be returned.See also
See also
See also
See also
- Parameters
algorithm (QgsProcessingModelChildAlgorithm) –
- Return type
str
-
addModelParameter
(self, definition: QgsProcessingParameterDefinition, component: QgsProcessingModelParameter)¶ Adds a new parameter to the model, with the specified
definition
and graphicalcomponent
. Ownership ofdefinition
is transferred to the model.See also
See also
- Parameters
definition (QgsProcessingParameterDefinition) –
component (QgsProcessingModelParameter) –
-
addOutput
(self, outputDefinition: QgsProcessingOutputDefinition) → bool¶ Adds an output
definition
to the algorithm. Ownership of the definition is transferred to the algorithm. ReturnsTrue
if the output could be successfully added, orFalse
if the output could not be added (e.g. as a result of a duplicate name).This should usually be called from a subclass’ initAlgorithm() implementation.
Note that in some cases output creation can be automatically performed when calling addParameter(). See the notes in addParameter() for a description of when this occurs.
See also
See also
-
addParameter
(self, parameterDefinition: QgsProcessingParameterDefinition, createOutput: bool = True) → bool¶ Adds a parameter
definition
to the algorithm. Ownership of the definition is transferred to the algorithm. ReturnsTrue
if parameter could be successfully added, orFalse
if the parameter could not be added (e.g. as a result of a duplicate name).This should usually be called from a subclass’ initAlgorithm() implementation.
If the
createOutput
argument isTrue
, then a corresponding output definition will also be created (and added to the algorithm) where appropriate. E.g. when adding aQgsProcessingParameterVectorDestination
andcreateOutput
isTrue
, then aQgsProcessingOutputVectorLayer
output will be created and added to the algorithm. There is no need to call addOutput() to manually add a corresponding output for this vector. IfcreateOutput
isFalse
then this automatic output creation will not occur.See also
See also
-
asPythonCode
(self, outputType: QgsProcessing.PythonOutputType, indentSize: int) → List[str]¶ Attempts to convert the model to executable Python code, and returns the generated lines of code.
The
outputType
argument dictates the desired script type.The
indentSize
arguments specifies the size of indented lines.- Parameters
outputType (QgsProcessing.PythonOutputType) –
indentSize (int) –
- Return type
List[str]
-
asPythonCommand
(self, parameters: Dict[str, Any], context: QgsProcessingContext) → str¶ - Parameters
parameters (Dict[str) –
context (QgsProcessingContext) –
- Return type
str
-
availableSourcesForChild
(self, childId: str, parameterTypes: Iterable[str] = [], outputTypes: Iterable[str] = [], dataTypes: Iterable[int] = []) → List[QgsProcessingModelChildParameterSource]¶ Returns a list of possible sources which can be used for the parameters for a child algorithm in the model. Returned sources are those which match either one of the specified
parameterTypes
(see QgsProcessingParameterDefinition.type() ) or one of the specifiedoutputTypes
(see QgsProcessingOutputDefinition.type() ). If specified, an optional list ofdataTypes
can be used to filter the returned sources to those with compatible data types for the parameter/outputs.- Parameters
childId (str) –
parameterTypes (Iterable[str] = []) –
outputTypes (Iterable[str] = []) –
dataTypes (Iterable[int] = []) –
- Return type
-
canExecute
(self) → Tuple[bool, str]¶ - Return type
Tuple[bool, str]
-
childAlgorithm
(self, id: str) → QgsProcessingModelChildAlgorithm¶ Returns the child algorithm with matching
id
. If no child algorithm exists with this ID a new algorithm will be added to the model and returned.See also
See also
- Parameters
id (str) –
- Return type
-
childAlgorithms
(self) → Dict[str, QgsProcessingModelChildAlgorithm]¶ Returns the map of child algorithms contained in the model. The keys are the child algorithm ids (see QgsProcessingModelAlgorithm.ChildAlgorithm.childId()).
See also
See also
See also
- Return type
Dict[str, QgsProcessingModelChildAlgorithm]
-
childAlgorithmsDependOnParameter
(self, name: str) → bool¶ Returns
True
if any child algorithms depend on the model parameter with the specifiedname
.See also
- Parameters
name (str) –
- Return type
bool
-
createExpressionContext
(self, parameters: Dict[str, Any], context: QgsProcessingContext, source: QgsProcessingFeatureSource = None) → QgsExpressionContext¶ - Parameters
parameters (Dict[str) –
context (QgsProcessingContext) –
source (
QgsProcessingFeatureSource
= None) –
- Return type
-
createExpressionContextScopeForChildAlgorithm
(self, childId: str, context: QgsProcessingContext, modelParameters: Dict[str, Any] = {}, results: Dict[str, Any] = {}) → QgsExpressionContextScope¶ Creates a new expression context scope for a child algorithm within the model.
See also
- Parameters
childId (str) –
context (QgsProcessingContext) –
modelParameters (Dict[str) –
results (Dict[str) –
- Return type
-
createInstance
(self) → QgsProcessingAlgorithm¶ - Return type
-
deactivateChildAlgorithm
(self, id: str)¶ Deactivates the child algorithm with matching
id
. All other child algorithms which depend on the child algorithm will also be deactivated.See also
See also
- Parameters
id (str) –
-
dependentChildAlgorithms
(self, childId: str) → Set[str]¶ Returns a list of the child algorithm IDs depending on the child algorithm with the specified
childId
.See also
- Parameters
childId (str) –
- Return type
Set[str]
-
dependsOnChildAlgorithms
(self, childId: str) → Set[str]¶ Returns a list of the child algorithm IDs on which the child algorithm with the specified
childId
depends upon.See also
- Parameters
childId (str) –
- Return type
Set[str]
-
displayName
(self) → str¶ - Return type
str
-
flags
(self) → QgsProcessingAlgorithm.Flags¶ - Return type
-
fromFile
(self, path: str) → bool¶ Reads the model from a file, at the specified
path
.See also
- Parameters
path (str) –
- Return type
bool
-
group
(self) → str¶ - Return type
str
-
groupId
(self) → str¶ - Return type
str
-
helpContent
(self) → Dict[str, Any]¶ Returns the model’s help contents (a free-form map of values describing the algorithm’s use and metadata).
See also
- Return type
Dict[str, Any]
-
helpUrl
(self) → str¶ - Return type
str
-
icon
(self) → QIcon¶ - Return type
QIcon
-
initAlgorithm
(self, configuration: Dict[str, Any] = {})¶ - Parameters
configuration (Dict[str) –
-
invalidRasterError
(parameters: Dict[str, Any], name: str) → str¶ Returns a user-friendly string to use as an error when a raster layer input could not be loaded.
The
parameters
argument should give the algorithms parameter map, and thename
should correspond to the invalid source parameter name.See also
See also
New in version 3.2.
-
invalidSinkError
(parameters: Dict[str, Any], name: str) → str¶ Returns a user-friendly string to use as an error when a sink parameter could not be created.
The
parameters
argument should give the algorithms parameter map, and thename
should correspond to the invalid source parameter name.See also
See also
New in version 3.2.
-
invalidSourceError
(parameters: Dict[str, Any], name: str) → str¶ Returns a user-friendly string to use as an error when a source parameter could not be loaded.
The
parameters
argument should give the algorithms parameter map, and thename
should correspond to the invalid source parameter name.See also
See also
New in version 3.2.
-
loadVariant
(self, variant: Any) → bool¶ Loads this model from a QVariantMap, wrapped in a QVariant
variant
. You can use QgsXmlUtils.readVariant to load it from an XML document.See also
New in version 3.4.
- Parameters
variant (Any) –
- Return type
bool
-
name
(self) → str¶ - Return type
str
-
otherParametersDependOnParameter
(self, name: str) → bool¶ Returns
True
if any other model parameters depend on the parameter with the specifiedname
(e.g. field parameters wherename
is the parent layer parameter).See also
- Parameters
name (str) –
- Return type
bool
-
parameterAsBool
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → bool¶ Evaluates the parameter with matching
name
to a static boolean value.
-
parameterAsBoolean
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → bool¶ Evaluates the parameter with matching
name
to a static boolean value.New in version 3.8.
-
parameterAsColor
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QColor¶ Evaluates the parameter with matching
name
to a color, or returns an invalid color if the parameter was not set.New in version 3.10.
-
parameterAsCompatibleSourceLayerPath
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, compatibleFormats: Iterable[str], preferredFormat: str = '', feedback: QgsProcessingFeedback = None) → str¶ Evaluates the parameter with matching
name
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.When an algorithm is capable of handling multi-layer input files (such as Geopackage), it is preferable to use parameterAsCompatibleSourceLayerPathAndLayerName() which may avoid conversion in more situations.
-
parameterAsCompatibleSourceLayerPathAndLayerName
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, compatibleFormats: Iterable[str], preferredFormat: str = '', feedback: QgsProcessingFeedback = None) → Tuple[str, str]¶ Evaluates the parameter with matching
name
to a source vector layer file path and layer name 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!).This method should be preferred over parameterAsCompatibleSourceLayerPath() when an algorithm is able to correctly handle files with multiple layers. Unlike parameterAsCompatibleSourceLayerPath(), it will not force a conversion in this case and will return the target layer name in the
layerName
argument.- Parameters
parameters – input parameter value map
name – name of target parameter
context – processing context
compatibleFormats – a list of lowercase file extensions compatible with the algorithm
preferredFormat – preferred format extension to use if conversion if required
feedback – feedback object
- Returns
path to source layer, or nearly converted compatible layer
layerName: will be set to the target layer name for multi-layer sources (e.g. Geopackage)
New in version 3.10.
-
parameterAsCrs
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsCoordinateReferenceSystem¶ Evaluates the parameter with matching
name
to a coordinate reference system.
-
parameterAsDouble
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → float¶ Evaluates the parameter with matching
name
to a static double value.
-
parameterAsEnum
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → int¶ Evaluates the parameter with matching
name
to a enum value.
-
parameterAsEnums
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[int]¶ Evaluates the parameter with matching
name
to list of enum values.
-
parameterAsExpression
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → str¶ Evaluates the parameter with matching
name
to an expression.
-
parameterAsExtent
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsRectangle¶ Evaluates the parameter with matching
name
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 specifiedcrs
. In this case the extent of the reproject rectangle will be returned.See also
-
parameterAsExtentCrs
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsCoordinateReferenceSystem¶ Returns the coordinate reference system associated with an extent parameter value.
See also
-
parameterAsExtentGeometry
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsGeometry¶ Evaluates the parameter with matching
name
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 specifiedcrs
. 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
-
parameterAsFields
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[str]¶ Evaluates the parameter with matching
name
to a list of fields.
-
parameterAsFile
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → str¶ Evaluates the parameter with matching
name
to a file/folder name.
-
parameterAsFileList
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[str]¶ Evaluates the parameter with matching
name
to a list of files (forQgsProcessingParameterMultipleLayers
in QgsProcessing:TypeFile mode).New in version 3.10.
-
parameterAsFileOutput
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → str¶ Evaluates the parameter with matching
name
to a file based output destination.
-
parameterAsInt
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → int¶ Evaluates the parameter with matching
name
to a static integer value.
-
parameterAsInts
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[int]¶ Evaluates the parameter with matching
name
to a list of integer values.New in version 3.4.
-
parameterAsLayer
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsMapLayer¶ Evaluates the parameter with matching
name
to a map layer.Layers will either be taken from
context
’s active project, or loaded from external sources and stored temporarily in thecontext
. In either case, callers do not need to handle deletion of the returned layer.
-
parameterAsLayerList
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[QgsMapLayer]¶ Evaluates the parameter with matching
name
to a list of map layers.
-
parameterAsLayout
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsPrintLayout¶ Evaluates the parameter with matching
name
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
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, layout: QgsPrintLayout) → QgsLayoutItem¶ Evaluates the parameter with matching
name
to a print layout item, taken from the specifiedlayout
.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
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[Any]¶ Evaluates the parameter with matching
name
to a matrix/table of values. Tables are collapsed to a 1 dimensional list.
-
parameterAsMeshLayer
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsMeshLayer¶ Evaluates the parameter with matching
name
to a mesh layer.Layers will either be taken from
context
’s active project, or loaded from external sources and stored temporarily in thecontext
. In either case, callers do not need to handle deletion of the returned layer.New in version 3.6.
-
parameterAsOutputLayer
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → str¶ Evaluates the parameter with matching
name
to a output layer destination.
-
parameterAsPoint
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem()) → QgsPointXY¶ Evaluates the parameter with matching
name
to a point.If
crs
is set then the point will be automatically reprojected so that it is in the specifiedcrs
.See also
-
parameterAsPointCrs
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsCoordinateReferenceSystem¶ Returns the coordinate reference system associated with an point parameter value.
See also
-
parameterAsRange
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → List[float]¶ Evaluates the parameter with matching
name
to a range of values.
-
parameterAsRasterLayer
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsRasterLayer¶ Evaluates the parameter with matching
name
to a raster layer.Layers will either be taken from
context
’s active project, or loaded from external sources and stored temporarily in thecontext
. In either case, callers do not need to handle deletion of the returned layer.
-
parameterAsSink
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext, fields: QgsFields, geometryType: QgsWkbTypes.Type = QgsWkbTypes.NoGeometry, crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem(), sinkFlags: Union[QgsFeatureSink.SinkFlags, QgsFeatureSink.SinkFlag] = 0) → Tuple[QgsFeatureSink, str]¶ Evaluates the parameter with matching
name
to a feature sink.Sinks will either be taken from
context
’s active project, or created from external providers and stored temporarily in thecontext
.The
fields
,geometryType
andcrs
parameters dictate the properties of the resulting feature sink.The
destinationIdentifier
argument will be set to a string which can be used to retrieve the layer corresponding to the sink, e.g. via callingQgsProcessingUtils.mapLayerFromString()
This function creates a new object and the caller takes responsibility for deleting the returned object.
- Raises
: – py:class:QgsProcessingException
-
parameterAsSource
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsProcessingFeatureSource¶ Evaluates the parameter with matching
name
to a feature source.Sources will either be taken from
context
’s active project, or loaded from external sources and stored temporarily in thecontext
.This function creates a new object and the caller takes responsibility for deleting the returned object.
-
parameterAsString
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → str¶ Evaluates the parameter with matching
name
to a static string value.
-
parameterAsVectorLayer
(self, parameters: Dict[str, Any], name: str, context: QgsProcessingContext) → QgsVectorLayer¶ Evaluates the parameter with matching
name
to a vector layer.Layers will either be taken from
context
’s active project, or loaded from external sources and stored temporarily in thecontext
. In either case, callers do not need to handle deletion of the returned layer.
-
parameterComponent
(self, name: str) → QgsProcessingModelParameter¶ Returns the parameter component with matching
name
. If no parameter component exists with this name a new component will be added to the model and returned.See also
See also
See also
- Parameters
name (str) –
- Return type
-
parameterComponents
(self) → Dict[str, QgsProcessingModelParameter]¶ Returns the map of parameter components used by the model. The keys should match the algorithm’s parameter names (see parameterDefinitions() ).
See also
See also
- Return type
Dict[str, QgsProcessingModelParameter]
-
postProcessAlgorithm
(self, context: QgsProcessingContext, feedback: QgsProcessingFeedback) → Dict[str, Any]¶ Allows the algorithm to perform any required cleanup tasks. The returned variant map includes the results evaluated by the algorithm. These may be output layer references, or calculated values such as statistical calculations.
The
context
argument specifies the context in which the algorithm was run.Postprocess progress should be reported using the supplied
feedback
object. Additionally, well-behaved algorithms should periodically checkfeedback
to determine whether the post processing should be canceled and exited early.postProcessAlgorithm should be used to handle any thread-sensitive cleanup which is required by the algorithm. It will always be called from the same thread that
context
has thread affinity with. While this will generally be the main thread, it is not guaranteed. For instance, algorithms which are run as a step in a larger model or as a subcomponent of a script-based algorithm will call postProcessAlgorithm from the same thread as that model/script it being executed in.postProcessAlgorithm will not be called if the prepareAlgorithm() step failed (returned
False
), or if an exception was raised by the processAlgorithm() step.- Returns
A map of algorithm outputs. These may be output layer references, or calculated values such as statistical calculations. Implementations which return a non-empty map will override any results returned by processAlgorithm().
See also
See also
-
prepareAlgorithm
(self, parameters: Dict[str, Any], context: QgsProcessingContext, feedback: QgsProcessingFeedback) → bool¶ Prepares the algorithm to run using the specified
parameters
. Algorithms should implement their logic for evaluating parameter values here. The evaluated parameter results should be stored in member variables ready for a call to processAlgorithm().The
context
argument specifies the context in which the algorithm is being run.prepareAlgorithm should be used to handle any thread-sensitive preparation which is required by the algorithm. It will always be called from the same thread that
context
has thread affinity with. While this will generally be the main thread, it is not guaranteed. For instance, algorithms which are run as a step in a larger model or as a subcomponent of a script-based algorithm will call prepareAlgorithm from the same thread as that model/script it being executed in.Note that the processAlgorithm step uses a temporary context with affinity for the thread in which the algorithm is executed, making it safe for processAlgorithm implementations to load sources and sinks without issue. Implementing prepareAlgorithm is only required if special thread safe handling is required by the algorithm.
Algorithm preparation progress should be reported using the supplied
feedback
object. Additionally, well-behaved algorithms should periodically checkfeedback
to determine whether the algorithm should be canceled and exited early.If the preparation was successful algorithms must return
True
. If aFalse
value is returned this indicates that the preparation could not be completed, and the algorithm execution will be canceled.- Returns
True
if preparation was successful.
See also
See also
-
processAlgorithm
(self, parameters: Dict[str, Any], context: QgsProcessingContext, feedback: QgsProcessingFeedback) → Dict[str, Any]¶ - Parameters
parameters (Dict[str) –
context (QgsProcessingContext) –
feedback (QgsProcessingFeedback) –
- Return type
Dict[str, Any]
-
removeChildAlgorithm
(self, id: str) → bool¶ Attempts to remove the child algorithm with matching
id
. ReturnsTrue
if the algorithm could be removed, orFalse
if the algorithm could not be removed (e.g. due to other child algorithms depending on it).See also
- Parameters
id (str) –
- Return type
bool
-
removeModelParameter
(self, name: str)¶ Removes an existing model parameter by
name
. The definition of the matching parameter is deleted.See also
See also
- Parameters
name (str) –
-
removeParameter
(self, name: str)¶ Removes the parameter with matching
name
from the algorithm, and deletes any existing definition.
-
setChildAlgorithm
(self, algorithm: QgsProcessingModelChildAlgorithm)¶ Sets the child
algorithm
within the model. If a child algorithm already exists in the model with the same child ID then that algorithm will be replaced.See also
See also
- Parameters
algorithm (QgsProcessingModelChildAlgorithm) –
-
setChildAlgorithms
(self, childAlgorithms: Dict[str, QgsProcessingModelChildAlgorithm])¶ Sets the map of child algorithms contained in the model. The keys are the child algorithm ids (see QgsProcessingModelAlgorithm.ChildAlgorithm.childId()). All existing child algorithms will be replaced.
See also
See also
See also
See also
- Parameters
childAlgorithms (Dict[str) –
-
setHelpContent
(self, contents: Dict[str, Any])¶ Sets the model’s help
contents
(a free-form map of values describing the algorithm’s use and metadata).See also
- Parameters
contents (Dict[str) –
-
setParameterComponent
(self, component: QgsProcessingModelParameter)¶ Sets a parameter
component
for the model. If a parameter component already exists in the model with the same parameter name then that component will be replaced.See also
See also
See also
- Parameters
component (QgsProcessingModelParameter) –
-
setParameterComponents
(self, parameterComponents: Dict[str, QgsProcessingModelParameter])¶ Sets the map of parameter components used by the model. The keys should match the algorithm’s parameter names (see parameterDefinitions() ). All existing parameter components will be replaced.
See also
See also
See also
- Parameters
parameterComponents (Dict[str) –
-
setSourceFilePath
(self, path: str)¶ Sets the source file
path
for the model, if available.See also
- Parameters
path (str) –
-
setVariables
(self, variables: Dict[str, Any])¶ Sets the map of custom expression context
variables
for this model.These variables are added to the model’s expression context scope, allowing for preset “constant” expression variables to be utilized within the model.
See also
New in version 3.8.
- Parameters
variables (Dict[str) –
-
shortDescription
(self) → str¶ - Return type
str
-
shortHelpString
(self) → str¶ - Return type
str
-
sourceFilePath
(self) → str¶ Returns the source file path for the model, if available.
See also
- Return type
str
-
supportInPlaceEdit
(self, layer: QgsMapLayer) → bool¶ Checks whether this algorithm supports in-place editing on the given
layer
Default implementation returnsFalse
.- Returns
True
if the algorithm supports in-place editing
New in version 3.4.
-
svgIconPath
(self) → str¶ - Return type
str
-
toFile
(self, path: str) → bool¶ Writes the model to a file, at the specified
path
.See also
- Parameters
path (str) –
- Return type
bool
-
toVariant
(self) → Any¶ Saves this model to a QVariantMap, wrapped in a QVariant. You can use QgsXmlUtils.writeVariant to save it to an XML document.
See also
New in version 3.4.
- Return type
Any
-
updateDestinationParameters
(self)¶ Updates the model’s parameter definitions to include all relevant destination parameters as required by child algorithm ModelOutputs. Must be called whenever child algorithm ModelOutputs are altered.
-
updateModelParameter
(self, definition: QgsProcessingParameterDefinition)¶ Replaces the definition of an existing parameter (by parameter name) with a new
definition
. Ownership ofdefinition
is transferred to the model, and any existing parameter is deleted.See also
See also
- Parameters
definition (QgsProcessingParameterDefinition) –
-
variables
(self) → Dict[str, Any]¶ Returns the map of custom expression context variables defined for this model.
These variables are added to the model’s expression context scope, allowing for preset “constant” expression variables to be utilized within the model.
See also
New in version 3.8.
- Return type
Dict[str, Any]
-
variablesForChildAlgorithm
(self, childId: str, context: QgsProcessingContext, modelParameters: Dict[str, Any] = {}, results: Dict[str, Any] = {}) → Dict[str, QgsProcessingModelAlgorithm.VariableDefinition]¶ Returns a map of variable name to variable definition for expression context variables which are available for use by child algorithm during model execution.
The child algorithm
childId
and processingcontext
are manadatory. IfmodelParameters
andresults
are not specified, then only the variable names and sources will be returned, but all variable values will be null. This can be used to determine in advance which variables will be available for a specific child algorithm, e.g. for use in expression builder widgets.In order to calculate the actual variable value, the input model
modelParameters
and already executed child algorithmresults
must be passed.- Parameters
childId (str) –
context (QgsProcessingContext) –
modelParameters (Dict[str) –
results (Dict[str) –
- Return type