如何从控制台设置图层样式?


9

我是QGIS python控制台的新手。我试图从控制台加载栅格图层,从qml文件设置crs和特定样式。

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

我想设置投影信息,然后将其加载到QGIS

QgsMapLayerRegistry.instance().addMapLayer(layer)

我的窗户上确实有灰色的光栅。如何设置要加载的qml文件?

谢谢你的帮助

Answers:


17

使用QgsMapLayer :: loadNamedStyle

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

感谢您的帮助,很遗憾,它不起作用。uri应该如何写?
Renaud 2012年

感谢您的帮助,但是我无法使其正常运行。当我运行以下命令时
Renaud 2012年

1
谢谢您的帮助,但是我无法使其正常运行。当我运行以下命令时,uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) 我收到错误消息:在数据库中找不到样式。谢谢您帮忙 ?我如何在这篇文章中跳线?
雷诺(Renaud)2012年

似乎theUri有点误导-使用纯文件名应该可以(例如/home/renaud/palette.qml
jef 2012年

谢谢,现在工作正常。再过一次,保持简单是最好的方法!
Renaud 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.