<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi developers,</p>
    <p>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.<br>
    </p>
    <p>* If I use processing.run(...) with setting the parameter
      isChildAlgorithm to False (= default), the vector layer (via sink)
      is returned as a QgsVectorLayer.<br>
      * 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.<br>
      * Is it intentional that the vector layer is returned as
      QgsVectorLayer or str (dest_id), depending on the isChildAlgorithm
      parameter?<br>
      * How can I access output QgsVectorLayer from a child algorithm?<br>
    </p>
    <p>This is a minimum example where you can modify the
      is_child_algorithm parameter:</p>
    <p>parameters = {<br>
          'INPUT': QgsVectorLayer('Point?crs=epsg:31258', 'locations',
      "memory"),<br>
          'DISTANCE': 10,<br>
          'OUTPUT': 'TEMPORARY_OUTPUT'<br>
      }<br>
      result = processing.run("native:buffer", parameters,
      is_child_algorithm=False )<br>
      vector_layer = result['OUTPUT']<br>
      print(str(type(vector_layer)))</p>
    <p>Best regards<br>
      Simon<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
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
<a class="moz-txt-link-abbreviated" href="mailto:simon.groechenig@salzburgresearch.at">simon.groechenig@salzburgresearch.at</a>
<a class="moz-txt-link-freetext" href="http://www.salzburgresearch.at">http://www.salzburgresearch.at</a></pre>
  </body>
</html>