¿Cómo puedo yo ejecutar desde la consola de una expresión que debe ser utilizada con la calculadora raster?
Estoy buscando algo como esto:
¿Cómo puedo yo ejecutar desde la consola de una expresión que debe ser utilizada con la calculadora raster?
Estoy buscando algo como esto:
A partir de QGIS 2.0 (y la versión de desarrollo actual), la clase QgsRasterCalculator está disponible en python. Por desgracia, no es muy bien documentado.
El uso básico es, que usted tiene que definir un alias para cada banda utilizado en la calculadora de la expresión en forma de un QgsRasterCalculatorEntry
Su ejemplo puede entonces escribirse de la siguiente manera, dado que ya tiene asignada su rasterlayer a una variable bohLayer.
from qgis.analysis import QgsRasterCalculator, QgsRasterCalculatorEntry
entries = []
# Define band1
boh1 = QgsRasterCalculatorEntry()
boh1.ref = 'boh@1'
boh1.raster = bohLayer
boh1.bandNumber = 1
entries.append( boh1 )
# Define band2
boh2 = QgsRasterCalculatorEntry()
boh2.ref = 'boh@2'
boh2.raster = bohLayer
boh2.bandNumber = 2
entries.append( boh2 )
# Process calculation with input extent and resolution
calc = QgsRasterCalculator( 'boh@1 + boh@2', '/home/user/outputfile.tif', 'GTiff', bohLayer.extent(), bohLayer.width(), bohLayer.height(), entries )
calc.processCalculation()
El retorno de processCalculation() será
La capa no se agrega automáticamente a la tabla de contenido, para hacerlo manualmente o con algún código de python.
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.