एक ही बार में कई रेखापुंज परतों का रंग प्रतिपादन बदलना
मेरी QGIS परियोजना में मेरे पास कई रेखापुंज परतें हैं और वे वर्तमान में सभी के रूप में प्रस्तुत की जाती हैं: मल्टीबैंड रंग लाल बैंड: बैंड 1 ग्रीन बैंड: बैंड 2 ब्लू बैंड: बैंड 3
मैं जानना चाहता हूं कि क्या कोई तरीका है जिससे मैं सभी रैस्टर लेयर्स के प्रतिपादन को बदल सकता हूं: रेड बैंड: बैंड 3 ग्रीन बैंड: बैंड 2 ब्लू बैंड: बैंड 1 बिना हाथ से, परत दर परत इसे करने के लिए।
जवाब
आप पाइकगिस का उपयोग कर सकते हैं। यह लेयर ट्री में सभी रैस्टर लेयर्स के सिम्बोलॉजी को रेड बैंड = बैंड 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()
इसे एक परत के लिए सेट करें।
उस लेयर, स्टाइल्स -> कॉपी स्टाइल पर राइट क्लिक करें।
उन सभी अन्य परतों का चयन करें, जिन्हें आप उसी शैली को लागू करना चाहते हैं, राइट-क्लिक करें, शैलियाँ -> पेस्ट स्टाइल।