El objetivo general es recortar una trama (rlayer), característica por característica de un shapefile (vlayer). A continuación, ejecutar las estadísticas univariantes en cada MDE recortado. Pasar la respuesta a una tabla para la salida.
Sin embargo he caído en el primer obstáculo y no consigo que el clip funcione. Ejemplo de error:
Unable to execute algorithm
Wrong parameter value: <qgis._core.QgsRasterLayer object at 0x000000002455D9D8>
Mi código por el momento es:
#Load the required modules
from qgis.core import*
import qgis.utils
import processing
import os
#Load administrative polygons
vlayer = (iface.addVectorLayer
("C:/Users/geol-tdi/Documents/UK_NUTS.shp",
"nutspoly",
"ogr"))
if not vlayer:
print "Vector layer failed to load!"
#Load raster for analysis
rlayer = (iface.addRasterLayer
("C:/Users/geol-tdi/Documents/Rasters/UKwheatPEC80div50.tif",
"WheatD"))
if not rlayer:
print "Raster layer failed to load!"
#Iteratively analyse admin polys.
vlayer.selectAll()
features = vlayer.getFeatures()
for feature in features:
vlayer.setSelectedFeatures([feature.id()])
print "Feature ID %d: " % feature.id()
processing.runalg('qgis:clip',rlayer, feature, None )
vlayer.removeSelection()
vlayer.removeSelection()
He probado variaciones como nombrar la característica seleccionada antes de pasarla al algoritmo pero eso también falla. La salida está actualmente configurada como NINGUNA para permitir probar/pasar el resultado al algoritmo de estadísticas univaraite cuando llegue allí.
Soy consciente de que probablemente sea un simple problema/error, pero soy relativamente nuevo en esto.
Tenga en cuenta que ya he probado v.rast.stats desde la caja de herramientas de procesamiento, no consigue escribir ninguna salida en el shapefile, por razones desconocidas.