GRASS ve SAGA modüllerini python komut dosyasına alma


13

Ben bu konuda yeniyim. Ben qgis için bir python eklentisi "inşa" ve GRASS ve SAGA modülleri almak istiyorum ama nasıl yapacağımı anlamıyorum. Almak istediğim eklenti SAGA'dan Kriging enterpolasyonu veya GRASS'tan v.surf.idw veya Raster qgis'ten enterpolasyon eklentisidir. Izgaradaki noktaları dönüştürmek için bir enterpolasyon yöntemi istiyorum.

Bana yardım eder misiniz?


Başka bir şüphem var.

Kodumda şu satırları çalıştırıyorum:

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)

Koştuğumda tiff görüntüsü alıyorum ama hiçbir şey yapmıyorum. .Aux dosyası oluşturulmaz ve oluşturduğum tiff görüntüsünü açmaya çalıştığımda şu mesaj görüntülenir:

c: ... teste3.tif desteklenen bir raster veri kaynağı değildir

Yani, çıktının yanlış olduğunu düşünüyorum. Doğru çıktı almak için ne yapmam gerekiyor? Ne eksik?

Yanıtlar:


15

QGIS'deki İşleme çerçevesi bu işlevi doğrudan Python'dan çağırabilir.

QGIS Python konsolundan:

>>>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)

İşleme Çerçevesinde bir model olarak oluşturursanız, bu modeli bir Python betiği olarak kaydedebilirsiniz. İşleme runalg işlevi için bir tür GUI oluşturucu sağlar.

İşleme modeli

resim açıklamasını buraya girin


Cevabınız çok yardımcı oldu. Teşekkürler. Yani, sextante modelinden bir Python betiği oluşturursam, bu kodu eklentime ekleyebilir miyim?
Bárbara Duarte

Evet, kod bir eklentide de çalışır.
Jakob

Kodu çalıştırdığımda, bana "AttributeError: class Processing '' runalg 'özelliği yok. Neden? İşleme alıyorum.
Bárbara Duarte

Sorumun cevabını biliyorum. Benim QGIS sürümünde runalg yerine runAlgorithm fonksiyonuna sahibim. Şimdi bu iyi çalışıyor. Teşekkür ederim.
Bárbara Duarte
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.