¿Cómo diseñar una capa desde la consola?

9

Soy nuevo en la consola QGIS python. Estoy tratando de cargar una capa ráster desde la consola, establecer el crs y un estilo específico desde un archivo qml.

layerPath = os.path.join(raster_dir,raster_name)
fileInfo = QtCore.QFileInfo(layerPath)
baseName = fileInfo.baseName()
layer = QgsRasterLayer(layerPath, baseName)

Me gustaría configurar la información de proyección y luego cargarla en QGIS

QgsMapLayerRegistry.instance().addMapLayer(layer)

Tengo una trama gris en las ventanas. ¿Cómo puedo configurar el archivo qml para cargar?

Gracias por tu ayuda

Renaud
fuente

Respuestas:

17

use QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 
jef
fuente
Gracias por su ayuda, desafortunadamente, no funciona. ¿Cómo debe escribir la uri?
Renaud
Gracias por su ayuda, sin embargo, no puedo lograr que funcione. Cuando ejecuto el siguiente comando
Renaud
1
Gracias por su ayuda. Sin embargo, no puedo lograr que funcione. Cuando ejecuto el siguiente comando uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) , aparece el mensaje de error: Estilo no encontrado en la base de datos. Gracias por tu ayuda ? ¿Cómo salto la línea en esta publicación?
Renaud
parece que theUries un poco engañoso: usar el nombre de archivo simple debería funcionar (es decir /home/renaud/palette.qml)
jef
Gracias, está funcionando bien ahora. ¡Una vez más, que sea simple es la mejor manera!
Renaud