Hi Harvard,
that's on the point - it works perfect now. Just in time, that I can use
it next monday in my PYQGIS workshop. I think, that is tons easier to
understand then the whole bunch of functions which you had to define
before. Thank's again for the link and the work done on the manual. I
have attached the changed script with the two processing algorithms
best regards
stefan
---
Mit freundlichen Grüßen
Stefan Giese
Projektleiter/Consultant
-----------------------------------
Aufwind durch Wissen!
Qualifizierte Open-Source-Schulungen
bei der www.foss-academy.com
-----------------------------------
WhereGroup GmbH & Co. KG
Schwimmbadstr. 2
79100 Freiburg
Germany
Fon: +49 (0)761 / 519 102 - 61
Fax: +49 (0)761 / 519 102 - 11
[email protected]
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
-------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
-------------------------------
Am 2019-04-12 08:50, schrieb Havard Tveite:
Hi Stefan,
We have recently updated the user manual to reflect this new
great feature.
Can you test the example that is given there (also includes
two processing algorithms)?
https://docs.qgis.org/testing/en/docs/user_manual/processing/scripts.html#the-alg-decorator
Håvard
On 12.04.2019 08:28, Stefan Giese wrote:
Hi everybody,
I've just played with the new (3.6.1) processing script format (see
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/134 or
https://anitagraser.com/2019/03/02/easy-processing-scripts-comeback-in-qgis-3-6/)
and tried to put 2 processing algorithmen in it (centroid and buffer),
but without success. The script stopped with the ":( QGIS crashed" -
so anything goes wrong I suppose. May be someone can help me to get
the right idea to connect various processing steps within the new
format. my script is attached, it should take a polygon layer, make
the centroids and then buffer the points.
best regards
stefan
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
from qgis.processing import alg
import processing
@alg(name="centroids_and_buffer", label=alg.tr("Centroids and buffer"), group="examplescripts", group_label=alg.tr("Example Scripts"))
@alg.input(type=alg.SOURCE, name="INPUT", label="Input layer")
@alg.input(type=alg.VECTOR_LAYER_DEST, name='BUFFER_OUTPUT', label='Buffer output')
def centroids_and_buffer(instance, parameters, context, feedback, inputs):
"""
Description goes here. (Don't delete this! Removing this comment will cause errors.)
"""
source = instance.parameterAsVectorLayer(parameters, "INPUT", context)
if feedback.isCanceled():
return {}
centroids = processing.run("native:centroids",
{'INPUT': parameters['INPUT'],
'ALL_PARTS': True,
'OUTPUT': 'memory:'},
is_child_algorithm=True,
context=context,
feedback=feedback)
if feedback.isCanceled():
return {}
alg_params = {'DISSOLVE': False,
'DISTANCE': 0.01,
'END_CAP_STYLE': 0,
'INPUT': centroids['OUTPUT'],
'JOIN_STYLE': 0,
'MITER_LIMIT': 2,
'SEGMENTS': 5,
'OUTPUT': parameters['BUFFER_OUTPUT']}
buffer = processing.run("native:buffer", alg_params,
is_child_algorithm=True,
context=context,
feedback=feedback)
if feedback.isCanceled():
return {}
return {'BUFFER_OUTPUT': buffer['OUTPUT']}_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user