1 votos

Archivo NetCDF compuesto de bandas

Tengo varios archivos NetCDF que fueron convertidos en archivos tif utilizando las herramientas Hacer capa rasterizada NetCDF & Copiar Raster en ArcGIS Pro 2.6. Como salida, ahora tengo múltiples archivos tif con muchas bandas dentro de ella. Aquí está una captura de pantalla para la referencia.

enter image description here

Como tengo varios archivos tif de este tipo, ahora estoy tratando de idear un script en python que pueda componer sólo ciertas bandas.

Así, si el número total de bandas en un archivo tif es de 365, sólo quiero componer la Banda_167 a la Banda_193.

Aquí está el fragmento que he elaborado hasta ahora sin embargo, me da un error : ERROR 000732: Input Rasters: Dataset Band_167 no existe o no es compatible

import arcpy
import os

arcpy.env.workspace = r'C:\Vikhyat\Test\*.tif'
Input = arcpy.env.workspace
Output = r'C:\Vikhyat\Data\Stack'

for img in Input:
    name = os.path.join(Output, img[0].split("_")[0] + ".tif")
    arcpy.CompositeBands_management('Band_167;Band_168;Band_169;Band_170', name)
print('Finished')

1voto

John Kramlich Puntos 286

El código que necesita es este, vea cómo construyo una lista de la ruta completa a su trama \band.

import arcpy, os

arcpy.env.workspace = r'C:\Scratch\Test'
rasters = arcpy.ListRasters("*", "TIF")
Output = r'C:\Scratch\Test'
bandList = ['Band_167','Band_168','Band_169','Band_170']    
for raster in rasters:
    myList = list()
    print(raster)
    name = os.path.join(Output, 'Monsoon' + str(raster))
    print(name)
    for b in bandList:
        myList.append(arcpy.env.workspace + "\\" + raster + "\\" + b)
    arcpy.CompositeBands_management(myList, name)    
print('Finished')

Es una buena práctica cuando se desarrolla un código poner sentencias print() para poder ver lo que realmente se está creando, por ejemplo su código original estaba creando .tif.tif como nombre del archivo de salida.

Esta herramienta no parece honrar el espacio de trabajo, por lo que construyo el nombre completo de la ruta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X