[QGIS-Developer] Access QgsVectorLayer from child algorithm
Simon Gröchenig
simon.groechenig at salzburgresearch.at
Wed Nov 24 22:00:42 PST 2021
Yes, that is the method I am looking for. Thank you, Etienne.
I am still curious why the output is different depending on the
isChildAlgorithm parameter??
Simon
Am 24.11.2021 um 12:50 schrieb Etienne Trimaille:
> 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-314
> simon.groechenig at salzburgresearch.at
> http://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
>
--
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-314
simon.groechenig at salzburgresearch.at
http://www.salzburgresearch.at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20211125/8f927ce4/attachment.html>
More information about the QGIS-Developer
mailing list