Bunu yapmanın genel yolunu bulana kadar, size bir çözüm söyleyeceğim.
/home/germap/.qgis2/python/plugins/
Bilgisayarımda yüklü olan İşleme eklentisi 2.2.0-2 sürümünü (bu sürümü kullanmanızı öneririm) kullanıyorum . Bu klasör konumunu bilmeniz gerekir, çünkü işleme modülünü oradan alırsınız.
Sağlayıcı ( qgis
) ve algoritmayı ( explodelines
) bildiğiniz /home/germap/.qgis2/python/plugins/processing/algs/qgis/
için, patlayan satırlar komut dosyası adını almaya bakabilirsiniz : Explode.py
Bu bilgiler, algoritmayı doğrudan Python bağımsız komut dosyanıza aktarmanıza olanak tanır.
Bu nedenle, bir Python konsolu açın ve aşağıdaki komut dosyasını kopyalayın (GNU / Linux kullanıyorum, böylece ortam değişkenleri varsayılan olarak ayarlandı, qgis ve PyQt4 kitaplıklarını bir esintiyle içe aktarmama izin veriyor):
# 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)
Hata mesajı almazsanız, hepsi bu kadar. Çıktı katmanı, belirttiğiniz çıktı yoluna kaydedildi ( /home/user/data/out.shp
)
Not: Genel bir yolla ilgili olarak (yani, algoritmaları adıyla çağırmak), göndermeden önce çözmem gereken bazı sorunlar buldum. İşe başlar almaz, gönderirim.
import processing
.