Como estilizar uma camada do console?

9

Eu sou novo no console python do QGIS. Eu estou tentando carregar uma camada raster do console, defina o crs e um estilo específico de um arquivo qml.

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

Gostaria de configurar as informações da projeção e carregá-las no QGIS

QgsMapLayerRegistry.instance().addMapLayer(layer)

Eu tenho uma varredura cinza nas janelas. Como posso configurar o arquivo qml para carregar?

Obrigado pela ajuda

Renaud
fonte

Respostas:

17

use QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 
jef
fonte
Obrigado por sua ajuda, infelizmente, não funciona. Como deve escrever o uri?
Renaud
Obrigado por sua ajuda, no entanto I não conseguem obtê-lo working.When eu execute o seguinte comando
Renaud
11
Obrigado pela ajuda, no entanto, não consigo fazê-lo funcionar. Quando executo o seguinte comando uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) , recebo a mensagem de erro: Estilo não encontrado no banco de dados. Obrigado pela sua ajuda? Como pulo a linha neste post?
Renaud
olhares como theUrié um pouco enganador - (. ou seja, usando o nome do arquivo simples deve funcionar /home/renaud/palette.qml)
Jef
Obrigado, está funcionando bem agora. Mais uma vez, mantenha as coisas simples, é o melhor caminho!
Renaud