Comment styliser un calque depuis la console?

9

Je suis nouveau sur la console python QGIS. J'essaie de charger une couche raster à partir de la console, de définir les crs et un style spécifique à partir d'un fichier qml.

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

Je souhaite configurer les informations de projection, puis les charger dans QGIS

QgsMapLayerRegistry.instance().addMapLayer(layer)

J'ai une trame grise sur les fenêtres. Comment puis-je configurer le fichier qml à charger?

Merci de votre aide

Renaud
la source

Réponses:

17

utiliser QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 
jef
la source
Merci pour votre aide, Malheureusement, cela ne fonctionne pas. Comment écrira l'uri?
Renaud
Merci pour votre aide, mais je n'arrive pas à le faire fonctionner. Lorsque j'exécute la commande suivante
Renaud
1
Merci pour votre aide, mais je n'arrive pas à le faire fonctionner. Lorsque j'exécute la commande suivante, uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) j'obtiens le message d'erreur: Style introuvable dans la base de données. Merci pour votre aide? Comment sauter la ligne dans ce post?
Renaud
ressemble à theUriest un peu trompeur - utiliser le nom de fichier ordinaire devrait fonctionner (ie. /home/renaud/palette.qml)
jef
Merci, ça fonctionne bien maintenant. Encore une fois, restez simple, c'est le meilleur moyen!
Renaud