3 votos

Opción incorrecta para GRASS "v.surf.idw" utilizando PyQGIS

Al usar Qgis 2.14.12 y PyQGIS, aparece un mensaje de error al ejecutar lo siguiente:

 processing.runalg('grass7:v.surf.idw', layer, 18, 2.0, 'p', True, "%f, %f, %f ,%f"%(1.635, 1.813, 50.896,  51.0205), 0.005, -1, 0.001, "e://out.tif")
 

La salida de

 layer.isValid()
 

es cierto, pero recibo este error (advertencia) en la consola de Python:

 C:\PROGRA~1\QGIS2~1.14\bin>g.region n= 51.020500 s= 50.896000 e= 1.813000 w=1.635000 res=0.005                  
   Sorry, <51.020500> isn't a valid option                  
   Sorry, <50.896000> isn't a valid option                  
   Sorry, <1.813000> isn't a valid option
 

Esto da como resultado un ráster de 1 km a lat / lon 0/0.

Sin embargo, cuando lanzo la función desde la caja de herramientas de QGIS, la salida está bien.

He probado ambos con GRASS 6 y 7.

¿Algunas ideas?

3voto

Geoffrey Puntos 228

La sintaxis parece ser correcta, pero debe eliminar el espacio en blanco al especificar la extensión. Intenta reemplazar:

 "%f, %f, %f ,%f"%(1.635, 1.813, 50.896,  51.0205)
 

con:

 "%f,%f,%f,%f" %(1.635, 1.813, 50.896,  51.0205)
 

De esta manera, lo escribirás como una cadena.

El comando de trabajo debe ser:

 processing.runalg('grass7:v.surf.idw', layer, 18, 2.0, 'p', True, "%f,%f,%f,%f"%(1.635, 1.813, 50.896,  51.0205), 0.005, -1, 0.001, "e://out.tif") 
 

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X