Alterando a renderização de cores de várias camadas raster de uma só vez

Aug 17 2020

Eu tenho muitas camadas raster em meu projeto QGIS e todas elas são atualmente renderizadas como: Cor multibanda Banda vermelha: Banda 1 Banda verde: Banda 2 Banda azul: Banda 3

Gostaria de saber se existe alguma forma de alterar a renderização de todas as camadas raster para: Faixa vermelha: Faixa 3 Faixa verde: Faixa 2 Faixa azul: Faixa 1 sem ter que fazer manualmente, camada por camada.

Respostas

3 BERA Aug 17 2020 at 02:04

Você pode usar pyqgis. Isso mudará a simbologia de todas as camadas raster na árvore de camadas para banda vermelha = banda 3, verde = banda 2, azul = banda 1:

for lyr in QgsProject.instance().mapLayers().values():
    if isinstance(lyr, qgis.core.QgsRasterLayer): #Check to make sure it is a raster layer
        r = lyr.renderer().clone()
        r.setRedBand(3)
        r.setGreenBand(2)
        r.setBlueBand(1)
        lyr.setRenderer(r)
        lyr.triggerRepaint()

1 bugmenot123 Aug 18 2020 at 01:18

Configure-o para uma camada.

Clique com o botão direito nessa camada, Estilos -> Copiar estilo.

Selecione todas as outras camadas às quais deseja aplicar o mesmo estilo, clique com o botão direito do mouse em Estilos -> Colar estilo.