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.