निम्नलिखित कोड कोड QGIS 2.x में अच्छी तरह से काम करता है, हालाँकि यह QGIS 3.x में काम नहीं करता है।
myDir = 'd:/work/output_folder/'
layers = iface.legendInterface().layers()
pipe = QgsRasterPipe()
for layer in layers:
extent = layer.extent()
width, height = layer.width(), layer.height()
renderer = layer.renderer()
provider=layer.dataProvider()
crs = layer.crs().toWkt()
pipe.set(provider.clone())
pipe.set(renderer.clone())
opts = ["COMPRESS=LZW"]
file_writer = QgsRasterFileWriter(myDir + layer.name() + ".tif")
file_writer.setCreateOptions(opts)
file_writer.writeRaster(pipe,
width,
height,
extent,
layer.crs())
यह वह त्रुटि है जो मुझे कोड चलाने पर मिलती है:
Traceback (most recent call last):
File "C:\PROGRA~1\QGIS3~1.0\apps\Python36\lib\code.py", line 91, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
AttributeError: 'QgisInterface' object has no attribute 'legendInterface'
क्या किसी को पता है कि नए संस्करण में 'किंवदंतीइंटरफेस' की जगह क्या है या क्यूजीआईएस 3.0 में इसे चलाने के लिए मुझे क्या अन्य परिवर्तन करने पड़ सकते हैं?