Modifica della resa cromatica di più livelli raster contemporaneamente

Aug 17 2020

Ho molti livelli raster nel mio progetto QGIS e sono tutti attualmente renderizzati come: Colore multibanda Banda rossa: Banda 1 Banda verde: Banda 2 Banda blu: Banda 3

Vorrei sapere se c'è un modo per modificare il rendering di tutti i livelli raster in: Banda rossa: Banda 3 Banda verde: Banda 2 Banda blu: Banda 1 senza doverlo fare a mano, strato per strato.

Risposte

3 BERA Aug 17 2020 at 02:04

Puoi usare pyqgis. Questo cambierà la simbologia di tutti i layer raster nell'albero dei layer in banda rossa=banda 3, verde=banda 2, blu=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

Impostalo per un livello.

Fai clic con il tasto destro su quel livello, Stili -> Copia stile.

Seleziona tutti gli altri livelli a cui vuoi applicare lo stesso stile, fai clic con il pulsante destro del mouse, Stili -> Incolla stile.