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 specified
name
.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 specified
name
(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.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 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 and false 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] = []) → object¶ 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) → object¶ 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 specified
name
.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 specified
name
(e.g. field parameters wherename
is the parent layer parameter).See also
-
parameterAsBool
()¶
-
parameterAsCompatibleSourceLayerPath
()¶
-
parameterAsCrs
()¶
-
parameterAsDouble
()¶
-
parameterAsEnum
()¶
-
parameterAsEnums
()¶
-
parameterAsExpression
()¶
-
parameterAsExtent
()¶
-
parameterAsExtentCrs
()¶
-
parameterAsExtentGeometry
()¶
-
parameterAsFields
()¶
-
parameterAsFile
()¶
-
parameterAsFileOutput
()¶
-
parameterAsInt
()¶
-
parameterAsInts
()¶
-
parameterAsLayer
()¶
-
parameterAsLayerList
()¶
-
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) → object¶ 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
. Returns true if the algorithm could be removed, or false 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
-
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
-
variablesForChildAlgorithm
(self, childId: str, context: QgsProcessingContext, modelParameters: Dict[str, Any] = {}, results: Dict[str, Any] = {}) → object¶ 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