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

Antworten:


17

Verwenden Sie QgsMapLayer :: loadNamedStyle

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.