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.