Bis ich mit der generischen Arbeitsweise anfange, werde ich Ihnen eine Problemumgehung nennen.
Ich verwende das Verarbeitungs-Plugin Version 2.2.0-2 (ich empfehle Ihnen, diese Version zu verwenden), das /home/germap/.qgis2/python/plugins/
auf meinem Computer installiert ist . Sie müssen diesen Ordnerpfad kennen, da Sie das Verarbeitungsmodul von dort importieren.
Da Sie den Provider ( qgis
) und den Algorithmus ( explodelines
) kennen, können Sie /home/germap/.qgis2/python/plugins/processing/algs/qgis/
den Skriptnamen explode lines verwenden: Mit Explode.py
diesen Informationen können Sie den Algorithmus direkt in Ihr eigenständiges Python-Skript importieren.
Öffnen Sie also eine Python-Konsole und kopieren Sie das folgende Skript (ich verwende GNU / Linux, damit die Umgebungsvariablen standardmäßig festgelegt werden und ich QGIS- und PyQT4-Bibliotheken problemlos importieren kann):
# Prepare the environment
import sys
from PyQt4.QtGui import *
from qgis.core import *
app = QApplication([])
QgsApplication.setPrefixPath("/usr", True)
QgsApplication.initQgis()
# Tell Python where you will get processing from
sys.path.append('/home/germap/.qgis2/python/plugins')
# Reference the algorithm you want to run
from processing.algs.qgis.Explode import *
alg = Explode()
# Set input and output
inLayer = QgsVectorLayer('/home/user/data/in.shp', 'input', 'ogr')
outLayer = '/home/user/data/out.shp'
alg.setParameterValue('INPUT', inLayer)
alg.setOutputValue('OUTPUT', outLayer)
# Run the algorithm
from processing.core.SilentProgress import SilentProgress
progress = SilentProgress()
alg.processAlgorithm(progress)
Wenn Sie keine Fehlermeldungen erhalten, ist das alles. Die Ausgabeebene wurde in dem von Ihnen angegebenen Ausgabepfad gespeichert ( /home/user/data/out.shp
)
Hinweis: In Bezug auf eine generische Methode (z. B. das Aufrufen von Algorithmen nach Namen) habe ich einige Probleme gefunden, die ich lösen muss, bevor ich sie veröffentliche. Sobald ich es zum Laufen bekomme, werde ich es posten.
import processing
.