Как оформить слой из консоли?

9

Я новичок в консоли Python QGIS. Я пытаюсь загрузить растровый слой из консоли, установить crs и определенный стиль из файла qml.

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 для загрузки?

Спасибо за вашу помощь

Renaud
источник

Ответы:

17

используйте QgsMapLayer :: loadNamedStyle

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 
Джеф
источник
Спасибо за вашу помощь. К сожалению, это не работает. Как напишем ури?
Рено
Спасибо за вашу помощь, однако мне не удается заставить ее работать. Когда я запускаю следующую команду
Renaud
1
Спасибо за вашу помощь, однако мне не удается заставить ее работать. Когда я запускаю следующую команду, uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) я получаю сообщение об ошибке: Стиль не найден в базе данных. Спасибо за помощь ? Как мне перейти строку в этом посте?
Рено
похоже theUri, немного вводит в заблуждение - использование простого имени файла должно работать (т.е. /home/renaud/palette.qml)
jef
Спасибо, сейчас все работает нормально. Еще раз, будь проще, это лучший способ!
Renaud