जब तक मुझे इसे करने का सामान्य तरीका काम नहीं मिलेगा, तब तक मैं आपको एक वर्कअराउंड बताऊंगा।
मैं प्रसंस्करण प्लगइन संस्करण 2.2.0-2 का उपयोग करता हूं (मैं आपको इस संस्करण का उपयोग करने का सुझाव देता हूं), जो /home/germap/.qgis2/python/plugins/
मेरे कंप्यूटर पर स्थापित है । आपको इस फ़ोल्डर का स्थान जानना होगा, क्योंकि आप प्रसंस्करण मॉड्यूल को वहां से आयात करते हैं।
जब से आप प्रदाता ( qgis
) और एल्गोरिथ्म ( explodelines
) को जानते हैं, आप /home/germap/.qgis2/python/plugins/processing/algs/qgis/
एक्सप्लोड लाइन स्क्रिप्ट का नाम लेने के लिए देख सकते हैं: Explode.py
यह जानकारी आपको एल्गोरिथ्म को सीधे अपने पायथन स्टैंडअलोन स्क्रिप्ट में आयात करने की अनुमति देती है।
इसलिए, पायथन कंसोल खोलें और निम्न स्क्रिप्ट की प्रतिलिपि बनाएँ (मैं GNU / Linux का उपयोग करता हूं, इसलिए पर्यावरण चर डिफ़ॉल्ट रूप से सेट किए जाते हैं, जिससे मुझे एक हवा में qgis और PyQt4 लाइब्रेरी आयात करने की अनुमति मिलती है):
# 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)
यदि आपको त्रुटि संदेश नहीं मिलता है, तो यह बात है। आउटपुट लेयर को आपके द्वारा निर्दिष्ट आउटपुट पथ में सहेजा गया है ( /home/user/data/out.shp
)
नोट: एक सामान्य तरीके के बारे में (यानी, नाम से एल्गोरिदम को कॉल करना), मुझे कुछ परेशानियां मिली हैं जिन्हें पोस्ट करने से पहले मुझे हल करना होगा। जैसे ही मुझे यह काम करने को मिलेगा, मैं इसे पोस्ट कर दूंगा।
import processing
।