Come modellare un livello dalla console?


9

Sono nuovo della console Python di QGIS. Sto cercando di caricare un livello raster dalla console, impostare i crs e uno stile specifico da un file qml.

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

Vorrei impostare le informazioni di proiezione e quindi caricarle su QGIS

QgsMapLayerRegistry.instance().addMapLayer(layer)

Ho un raster grigio alle finestre. Come posso impostare il file qml da caricare?

Grazie per l'aiuto

Risposte:


17

usa QgsMapLayer :: loadNamedStyle

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

Grazie per il tuo aiuto, sfortunatamente, non funziona. Come deve scrivere l'uri?
Renaud,

Grazie per il tuo aiuto, tuttavia non riesco a farlo funzionare. Quando eseguo il comando seguente
Renaud,

1
Grazie per il vostro aiuto, tuttavia non riesco a farlo funzionare. Quando eseguo il comando seguente uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) ricevo il messaggio di errore: Stile non trovato nel database. Grazie per il tuo aiuto ? Come faccio a saltare la linea in questo post?
Renaud,

sembra theUriun po 'fuorviante - usare il semplice nome del file dovrebbe funzionare (es. /home/renaud/palette.qml)
jef

Grazie, ora funziona bene. Ancora una volta, mantenerlo semplice รจ il modo migliore!
Renaud,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.