যতক্ষণ না আমি এটি করার জেনেরিক পদ্ধতিতে কাজ করতে চলেছি ততক্ষণ আমি আপনাকে একটি কাজের কথা বলব।
আমি প্রসেসিং প্লাগইন সংস্করণটি 2.2.0-2 ব্যবহার করি (আমি আপনাকে এই সংস্করণটি ব্যবহার করার পরামর্শ দিই), যা /home/germap/.qgis2/python/plugins/
আমার কম্পিউটারে ইনস্টল করা আছে । আপনার এই ফোল্ডারটির অবস্থানটি জানতে হবে, কারণ আপনি সেখান থেকে প্রসেসিং মডিউলটি আমদানি করেন।
যেহেতু আপনি সরবরাহকারী ( qgis
) এবং অ্যালগরিদম ( explodelines
) জানেন, তাই আপনি /home/germap/.qgis2/python/plugins/processing/algs/qgis/
বিস্ফোরিত লাইনগুলির স্ক্রিপ্ট নাম নিতে পারেন: Explode.py
এই তথ্যটি আপনাকে সরাসরি আপনার পাইথন স্ট্যান্ডেলোন স্ক্রিপ্টে অ্যালগরিদম আমদানির অনুমতি দেয়।
সুতরাং, পাইথন কনসোলটি খুলুন এবং নিম্নলিখিত স্ক্রিপ্টটি অনুলিপি করুন (আমি GNU / লিনাক্স ব্যবহার করি, তাই পরিবেশের ভেরিয়েবলগুলি ডিফল্টরূপে সেট করা হয়, আমাকে কিউজিস এবং পাইকিউ 4 লাইব্রেরিগুলিকে একটি বাতাসে আমদানি করার অনুমতি দেয়):
# 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
।