Importe los módulos GRASS y SAGA al script de python

13

Soy nuevo en esto. Estoy "construyendo" un complemento de python para qgis y quiero importar módulos de GRASS y SAGA pero no entiendo cómo hacerlo. El complemento que quiero importar es la interpolación Kriging desde SAGA o v.surf.idw desde GRASS o el complemento de interpolación desde Raster qgis. Quiero un método de interpolación para convertir puntos en grilla.

¿Puedes ayudarme?

Tengo otra duda.

Ejecuto estas líneas en mi código:

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)

Cuando corro, me sale una imagen tiff pero sin nada. El archivo .aux no se crea y cuando intento abrir la imagen tiff que creé aparece este mensaje:

c: ... teste3.tif no es una fuente de datos raster compatible

Entonces, supongo que la salida es incorrecta. ¿Qué tengo que hacer para obtener una salida correcta? ¿Qué me falta?

    
pregunta Bárbara Duarte 14.11.2013 - 11:47

1 respuesta

14

El marco de procesamiento en QGIS puede llamar a estas funciones directamente desde Python.

Desde la consola QGIS Python:

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

Si lo creas como modelo en el marco de procesamiento, puedes guardar ese modelo como un script de Python. Le proporciona una especie de generador de GUI para el procesamiento de la función de ejecución.

    
respondido por el Jakob 14.11.2013 - 12:43

Lea otras preguntas en las etiquetas