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

Réponses:


17

utiliser QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.