Изменение цветопередачи сразу нескольких растровых слоев
В моем проекте QGIS много растровых слоев, и все они в настоящее время отображаются как: Многополосный цвет Красная полоса: Полоса 1 Зеленая полоса: Полоса 2 Синяя полоса: Полоса 3
Я хотел бы знать, есть ли способ изменить рендеринг всех растровых слоев на: Красная полоса: Полоса 3 Зеленая полоса: Полоса 2 Синяя полоса: Полоса 1 без необходимости делать это вручную, слой за слоем.
Ответы
Вы можете использовать pyqgis. Это изменит символы всех растровых слоев в дереве слоев на красную полосу = полосу 3, зеленую = полосу 2, синюю = полосу 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()

Настройте его на один слой.
Щелкните правой кнопкой мыши этот слой, Стили -> Копировать стиль.
Выберите все остальные слои, к которым вы хотите применить тот же стиль, щелкните правой кнопкой мыши, Стили -> Вставить стиль.