Wie gestalte ich eine Ebene von der Konsole aus?

9

Ich bin neu in der QGIS-Python-Konsole. Ich versuche, eine Rasterebene von der Konsole zu laden, die crs und einen bestimmten Stil aus einer qml-Datei festzulegen.

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

Ich möchte die Projektionsinformationen einrichten und dann in QGIS laden

QgsMapLayerRegistry.instance().addMapLayer(layer)

Ich habe ein graues Raster an den Fenstern. Wie kann ich die zu ladende qml-Datei einrichten?

Danke für Ihre Hilfe

Renaud
quelle

Antworten:

17

Verwenden Sie QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 
jef
quelle
Vielen Dank für Ihre Hilfe, leider funktioniert es nicht. Wie soll der Uri schreiben?
Renaud
Vielen Dank für Ihre Hilfe, aber ich kann es nicht schaffen, es zum Laufen zu bringen. Wenn ich den folgenden Befehl ausführe
Renaud
1
Vielen Dank für Ihre Hilfe. Ich kann es jedoch nicht zum Laufen bringen. Wenn ich den folgenden Befehl ausführe uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) , wird die Fehlermeldung angezeigt: Stil nicht in Datenbank gefunden. Danke für deine Hilfe ? Wie springe ich in diesem Beitrag?
Renaud
sieht aus wie theUriist ein bisschen irreführend - mit dem einfachen Dateinamen sollte funktionieren (dh /home/renaud/palette.qml)
jef
Danke, es funktioniert jetzt gut. Noch einmal, halten Sie es einfach ist der beste Weg!
Renaud