Sie haben verschiedene Möglichkeiten, mit PyQGIS Console das zu erreichen, was Sie möchten:
- Aragons Vorschlag;
- mithilfe der QgsGeometryAnalyzer-Klasse:
from qgis.utils import iface
from qgis.analysis import QgsGeometryAnalyzer
mc = iface.mapCanvas()
layer = mc.currentLayer()
QgsGeometryAnalyzer().buffer(layer, "path_to/output.shp", 500, False, False, -1)
- mit der Sextante-Klasse:
from sextante.core.Sextante import Sextante
Sextante.runalg("ftools:fixeddistancebuffer","input_path.shp", False, 500, 5, True, "output_path_buffer.shp")
Um die Sextanten-Parameter Sextante.alghelp("ftools:fixeddistancebuffer")
abzurufen, geben Sie PyQGIS Console ein.
Hoffe das hilft !
Nur eine Kleinigkeit zur letzten Antwort.
Verwenden Sie Sextante.alglist (), um nach einem SEXTANTE-Algorithmus für ein bestimmtes Thema zu suchen. Wenn Sie beispielsweise nach etwas suchen, das "Buffer" enthält, würden Sie dies tun
Und du würdest bekommen:
Auf diese Weise können Sie den Namen des aufzurufenden Algorithmus ermitteln (ftools: fixeddistancebuffer in dem in der obigen Antwort vorgeschlagenen Beispiel).
Sie können Ihr Skript in SEXTANTE in einen neuen Algorithmus umwandeln. Die SEXTANTE-Dokumentation enthält detaillierte Informationen dazu.
quelle