2 votos

Estableciendo archivo de estilo de QGIS (QML) a través de PyQGIS

Quiero establecer un archivo de estilo QML para un archivo ráster y guardarlo como imagen. Este código no establece el archivo de estilo cuando lo ejecuto como script independiente. Funciona bien en el editor de Python de QGIS. No hay error en el código.

print(res) result : {'OUTPUT': }  

feedback = QgsProcessingFeedback()
res = processing.run("native:setlayerstyle", {'INPUT':'E:\\GIS\\idw_humidity.tif','STYLE':'E:\\GIS\\idw_humidity_style.qml'},feedback=feedback)
print(res)

fileName = "E:/GIS/idw_humidity.tiff"
fileInfo = QFileInfo(fileName)
path = fileInfo.filePath()
baseName = fileInfo.baseName()
rlayer = QgsRasterLayer(path, baseName)
QgsProject.instance().addMapLayer(rlayer)
if rlayer.isValid():
   print ("¡Capa cargada!")
#rlayer.renderer().setOpacity(0.5) 
extent = rlayer.extent()
rlayer.triggerRepaint()

0voto

tvs Puntos 11

No está funcionando como script independiente

feedback = QgsProcessingFeedback()
res=processing.run("native:setlayerstyle", {'INPUT':'E:\\GIS\\idw_humidity.tif','STYLE':'E:\\GIS\\idw_humidity_style.qml'},feedback=feedback)
 print(res)

Está funcionando

fileInfo = QFileInfo(fileName)
path=fileInfo.filePath()
baseName = fileInfo.baseName()
print(baseName)
rlayer = QgsRasterLayer(path, baseName)
rlayer.loadNamedStyle(QML_file)
QgsProject.instance().addMapLayer(rlayer)
if rlayer.isValid():
   print ("¡Capa cargada!")
extent = rlayer.extent()
rlayer.triggerRepaint()

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