Class: QgsProcessingModelAlgorithm¶
-
class
qgis.core.
QgsProcessingModelAlgorithm
(name: str = '', group: str = '', groupId: str = '')¶ Bases:
qgis._core.QgsProcessingAlgorithm
Constructor for QgsProcessingModelAlgorithm.
Model based algorithm with processing.
New in version 3.0: Enums
Methods
Attempts to activate the child algorithm with matching
id
.Adds a new child
algorithm
to the model.Adds a new parameter to the model, with the specified
definition
and graphicalcomponent
.Attempts to convert the model to executable Python code, and returns the generated lines of code.
Returns a list of possible sources which can be used for the parameters for a child algorithm in the model.
Returns the child algorithm with matching
id
.Returns the map of child algorithms contained in the model.
Returns
True
if any child algorithms depend on the model parameter with the specifiedname
.Creates a new expression context scope for a child algorithm within the model.
Deactivates the child algorithm with matching
id
.Returns a list of the child algorithm IDs depending on the child algorithm with the specified
childId
.Returns a list of the child algorithm IDs on which the child algorithm with the specified
childId
depends upon.Reads the model from a file, at the specified
path
.Returns the model’s help contents (a free-form map of values describing the algorithm’s use and metadata).
Loads this model from a QVariantMap, wrapped in a QVariant
variant
.Returns
True
if any other model parameters depend on the parameter with the specifiedname
(e.g.Returns the parameter component with matching
name
.Returns the map of parameter components used by the model.
Attempts to remove the child algorithm with matching
id
.Removes an existing model parameter by
name
.Sets the child
algorithm
within the model.Sets the map of child algorithms contained in the model.
Sets the model
group
.Sets the model’s help
contents
(a free-form map of values describing the algorithm’s use and metadata).Sets the model
name
.Sets a parameter
component
for the model.Sets the map of parameter components used by the model.
Sets the source file
path
for the model, if available.Sets the map of custom expression context
variables
for this model.Returns the source file path for the model, if available.
Writes the model to a file, at the specified
path
.Saves this model to a QVariantMap, wrapped in a QVariant.
Updates the model’s parameter definitions to include all relevant destination parameters as required by child algorithm ModelOutputs.
Replaces the definition of an existing parameter (by parameter name) with a new
definition
.Returns the map of custom expression context variables defined for this model.
Returns a map of variable name to variable definition for expression context variables which are available for use by child algorithm during model execution.
Signals
Attributes
-
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.
-
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
-
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
-
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
-
addOutput
()¶
-
addParameter
()¶
-
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.
-
asPythonCommand
(self, parameters: Dict[str, Any], context: QgsProcessingContext) → 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.
-
canExecute
(self) → 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
-
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
-
childAlgorithmsDependOnParameter
(self, name: str) → bool¶ Returns
True
if any child algorithms depend on the model parameter with the specifiedname
.See also
-
createExpressionContext
(self, parameters: Dict[str, Any], context: QgsProcessingContext, source: QgsProcessingFeatureSource = None) → QgsExpressionContext¶
-
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
-
createInstance
(self) → QgsProcessingAlgorithm¶
-
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
-
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
-
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
-
displayName
(self) → str¶
-
flags
(self) → QgsProcessingAlgorithm.Flags¶
-
fromFile
(self, path: str) → bool¶ Reads the model from a file, at the specified
path
.See also
-
group
(self) → str¶
-
groupId
(self) → 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
-
helpUrl
(self) → str¶
-
icon
(self) → QIcon¶
-
initAlgorithm
(self, configuration: Dict[str, Any] = {})¶
-
invalidRasterError
()¶
-
invalidSinkError
()¶
-
invalidSourceError
()¶
-
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.
-
name
(self) → 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
-
parameterAsBool
()¶
-
parameterAsBoolean
()¶
-
parameterAsCompatibleSourceLayerPath
()¶
-
parameterAsCrs
()¶
-
parameterAsDouble
()¶
-
parameterAsEnum
()¶
-
parameterAsEnums
()¶
-
parameterAsExpression
()¶
-
parameterAsExtent
()¶
-
parameterAsExtentCrs
()¶
-
parameterAsExtentGeometry
()¶
-
parameterAsFields
()¶
-
parameterAsFile
()¶
-
parameterAsFileOutput
()¶
-
parameterAsInt
()¶
-
parameterAsInts
()¶
-
parameterAsLayer
()¶
-
parameterAsLayerList
()¶
-
parameterAsLayout
()¶
-
parameterAsLayoutItem
()¶
-
parameterAsMatrix
()¶
-
parameterAsMeshLayer
()¶
-
parameterAsOutputLayer
()¶
-
parameterAsPoint
()¶
-
parameterAsPointCrs
()¶
-
parameterAsRange
()¶
-
parameterAsRasterLayer
()¶
-
parameterAsSink
()¶
-
parameterAsSource
()¶
-
parameterAsString
()¶
-
parameterAsVectorLayer
()¶
-
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
-
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
-
postProcessAlgorithm
()¶
-
prepareAlgorithm
()¶
-
processAlgorithm
(self, parameters: Dict[str, Any], context: QgsProcessingContext, feedback: QgsProcessingFeedback) → 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
-
removeModelParameter
(self, name: str)¶ Removes an existing model parameter by
name
. The definition of the matching parameter is deleted.See also
See also
-
removeParameter
()¶
-
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
-
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
-
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
-
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
-
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
-
setSourceFilePath
(self, path: str)¶ Sets the source file
path
for the model, if available.See also
-
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.
-
shortDescription
(self) → str¶
-
shortHelpString
(self) → str¶
-
sourceFilePath
(self) → str¶ Returns the source file path for the model, if available.
See also
-
supportInPlaceEdit
()¶
-
svgIconPath
(self) → str¶
-
toFile
(self, path: str) → bool¶ Writes the model to a file, at the specified
path
.See also
-
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.
-
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
-
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.
-
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.
-
class