Ciao sono Vincenzo e sono un neofita dell'ambiente Python, volevo chiedervi un consiglio in merito ad uno script che sto cercando di eseguire, nello specifico riguarda:
1) Selezione di tutti i file all'interno di una cartella (file raster RGB)
2) Estrazione di una sola banda da ogni file
3) Salvare i file a singola banda in una nuova cartella
Finora cercando in rete e nei vari blog ho trovato poche info e molta confusione, ma ho elaborato uno script che recita nel seguente modo:
import sys, os
output = "C:\..."
layers =[layer for layer in QgsProject.instance().mapLayers().values()]
for lyr in layers:
if (lyr.type() == QgsMapLayer.RasterLayer):
cmd1 = "gdal_translate -b 1 "+ lyr.source() + "C:/...raster_input" + outputDir + "C:\...output" + lyr.name() + "test.ecw"
os.system(cmd1)
cmd2 = outputDir + "C:\...output" + lyr.name() + "test.ecw"
iface.addRasterLayer(cmd2)
Che non mi restituisce alcun dato, secondo voi dove ho sbagliato?
1) Selezione di tutti i file all'interno di una cartella (file raster RGB)
2) Estrazione di una sola banda da ogni file
3) Salvare i file a singola banda in una nuova cartella
Finora cercando in rete e nei vari blog ho trovato poche info e molta confusione, ma ho elaborato uno script che recita nel seguente modo:
import sys, os
output = "C:\..."
layers =[layer for layer in QgsProject.instance().mapLayers().values()]
for lyr in layers:
if (lyr.type() == QgsMapLayer.RasterLayer):
cmd1 = "gdal_translate -b 1 "+ lyr.source() + "C:/...raster_input" + outputDir + "C:\...output" + lyr.name() + "test.ecw"
os.system(cmd1)
cmd2 = outputDir + "C:\...output" + lyr.name() + "test.ecw"
iface.addRasterLayer(cmd2)
Che non mi restituisce alcun dato, secondo voi dove ho sbagliato?