अजगर स्क्रिप्ट के लिए GRASS और SAGA मॉड्यूल आयात करें


13

मैं इस पर नया हूँ। मैं qgis के लिए एक अजगर प्लगइन "बिल्डिंग" कर रहा हूं और मैं GRASS और SAGA से मॉड्यूल आयात करना चाहता हूं, लेकिन मुझे समझ नहीं आ रहा है कि यह कैसे करना है। मैं जिस प्लगइन को आयात करना चाहता हूं वह SAGA से प्रक्षेपित प्रक्षेप करना है या GRASS से v.surf.idw या रैस्टर क्यूजीस से प्रक्षेप प्रक्षेप। मैं ग्रिड में बिंदुओं को परिवर्तित करने के लिए एक प्रक्षेप विधि चाहता हूं।

क्या आप मेरी मदद कर सकते हैं?


मुझे एक और संदेह है।

मैं अपने कोड में इन पंक्तियों को चलाता हूं:

vectorlayer_vector =  ftools_utils.getVectorLayerByName(inputLayer)
Elevation = self.lineAttrib.currentText()
cellSize = int(self.linePix.value())
outPath = self.inputLayerCombo3.text()
output = ftools_utils.getRasterLayerByName(outPath) 

Processing.runAlgorithm("saga:shapestogrid", vectorlayer_vector, Elevation, 0, 0, 4, None, cellSize, output)

जब मैं दौड़ता हूं, तो मुझे एक टिफ इमेज मिलती है, लेकिन कुछ भी नहीं। .Aux फ़ाइल नहीं बनाई गई है और जब मैंने अपने द्वारा बनाई गई टिफ़ छवि को खोलने का प्रयास किया तो यह संदेश प्रकट होता है:

c: ... teste3.tif एक समर्थित रेखीय डेटा स्रोत नहीं है

इसलिए, मुझे लगता है कि आउटपुट गलत है। एक सही आउटपुट प्राप्त करने के लिए मुझे क्या करना होगा? मुझे क्या याद आ रहा है?

जवाबों:


15

QGIS में प्रोसेसिंग ढांचा इन फ़ंक्शन को सीधे पायथन से कॉल कर सकता है।

QGIS पायथन कंसोल से:

>>>import processing
>>>outputs_0=Processing.runalg("saga:ordinarykriging", vectorlayer_pointtable, z, True, 0, 0, True, 100, True, 0.0, 10.0, 100.0, 1.0, 0.1, 1, 0.5, 1000.0, 4, 20, 1.0, True, None, None, None)
>>>outputs_1=Processing.runalg("grass:r.surf.idw", outputs_0['GRID'], 12, True, None, 0.0, None)

यदि आप इसे प्रोसेसिंग फ्रेमवर्क में एक मॉडल के रूप में बनाते हैं, तो आप उस मॉडल को पायथन स्क्रिप्ट के रूप में सहेज सकते हैं। यह आपको प्रोसेसिंग रनग फ़ंक्शन के लिए एक प्रकार का GUI बिल्डर देता है।

प्रसंस्करण मॉडल

यहाँ छवि विवरण दर्ज करें


आपका उत्तर बहुत मददगार था। धन्यवाद। तो, अगर मैं sextante मॉडल से पायथन स्क्रिप्ट बनाता हूं, तो मैं अपने प्लगइन में उस कोड को शामिल कर सकता हूं?
बरबड़ा डुटर्टे

हां, कोड एक प्लगइन में भी चलता है।
जेकब

जब मैं कोड को चलाता हूं, तो यह मुझे यह संदेश देता है "विशेषता गुण: वर्ग प्रसंस्करण में कोई विशेषता नहीं है" रनग्लग "। क्यों? मैं प्रसंस्करण आयात करता हूं।
बरबरा दुतेर्ते

मैं अपने प्रश्न का उत्तर जानता हूं। मेरे QGIS संस्करण में मेरे पास runalg के बजाय फ़ंक्शन runAlgorithm है। अब यह ठीक काम करता है। धन्यवाद।
बरबरा दुतेर्ते
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.