[QGIS-Developer] Access QgsVectorLayer from child algorithm

Etienne Trimaille etienne.trimaille at gmail.com
Wed Nov 24 03:50:36 PST 2021


This might help you ?
QgsProcessingUtils::mapLayerFromString()
https://qgis.org/api/classQgsProcessingUtils.html#aa1c2360e52d2ed8100faf02a35125b17


Le mer. 24 nov. 2021 à 11:19, Simon Gröchenig <
simon.groechenig at salzburgresearch.at> a écrit :

> Hi developers,
>
> I am developing a Python processing algorithm with some child algorithms.
> I am struggling to find a way to access a child algorithm's output vector
> layer. I want to use isChildAlgorithm=True in order to correctly set the
> feedback progress.
>
> * If I use processing.run(...) with setting the parameter isChildAlgorithm
> to False (= default), the vector layer (via sink) is returned as a
> QgsVectorLayer.
> * If I set isChildAlgorithm to True, only the dest_id is returned as a
> string. I did not find a solution on how I retrieve the corresponding
> QgsVectorLayer.
> * Is it intentional that the vector layer is returned as QgsVectorLayer or
> str (dest_id), depending on the isChildAlgorithm parameter?
> * How can I access output QgsVectorLayer from a child algorithm?
>
> This is a minimum example where you can modify the is_child_algorithm
> parameter:
>
> parameters = {
>     'INPUT': QgsVectorLayer('Point?crs=epsg:31258', 'locations', "memory"),
>     'DISTANCE': 10,
>     'OUTPUT': 'TEMPORARY_OUTPUT'
> }
> result = processing.run("native:buffer", parameters,
> is_child_algorithm=False )
> vector_layer = result['OUTPUT']
> print(str(type(vector_layer)))
>
> Best regards
> Simon
>
> --
> Simon Gröchenig MSc
> MTA - Mobility & Transport Analytics
>
> Salzburg Research Forschungsgesellschaft mbH
> Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
> T: +43.662.2288-314simon.groechenig at salzburgresearch.athttp://www.salzburgresearch.at
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20211124/b05e592d/attachment.html>


More information about the QGIS-Developer mailing list