Sampai saya mulai bekerja dengan cara umum untuk melakukannya, saya akan memberi tahu Anda solusinya.
Saya menggunakan plugin Pengolah versi 2.2.0-2 (saya sarankan Anda untuk menggunakan versi ini), yang diinstal di /home/germap/.qgis2/python/plugins/
dalam komputer saya. Anda perlu mengetahui lokasi folder ini, karena Anda mengimpor modul pemrosesan dari sana.
Karena Anda mengetahui penyedia ( qgis
) dan algoritme ( explodelines
), Anda dapat melihat /home/germap/.qgis2/python/plugins/processing/algs/qgis/
untuk mengambil nama skrip garis meledak: Explode.py
Informasi ini memungkinkan Anda untuk mengimpor algoritma secara langsung ke skrip mandiri Python Anda.
Jadi, buka konsol Python dan salin skrip berikut (saya menggunakan GNU / Linux, sehingga variabel lingkungan diatur secara default, memungkinkan saya untuk mengimpor pustaka qgis dan PyQt4 dengan mudah):
# 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)
Jika Anda tidak mendapatkan pesan kesalahan, itu saja. Lapisan output telah disimpan di jalur output yang Anda tentukan ( /home/user/data/out.shp
)
Catatan: Mengenai cara umum (yaitu, memanggil algoritma dengan nama), saya telah menemukan beberapa masalah yang perlu saya selesaikan sebelum mempostingnya. Segera setelah saya membuatnya berfungsi, saya akan mempostingnya.
import processing
.