intenta esto...esperemos que usted no tiene que arreglar demasiados errores de sintaxis. (No tengo arcpy)
for rasterB4 in B4:
for rasterB5 in B5:
print rasterB4
print rasterB5
partName = str(rasterB4[16:30])
waterVaporOutputName = "waterVapor" + str(partName)
rasterB4 = arcpy.Raster(rasterB4)
rasterB4 = arcpy.Raster(rasterB5)
#i'm assuming both rasters are the same extents/cellsize
lowerLeft = arcpy.Point(rasterB4.extent.XMin, rasterB4.extent.YMin)
cellSize = rasterB4.meanCellWidth
nodata = rasterB4.noDataValue
numpy_B4 = arcpy.RasterToNumPyArray(rasterB4)
numpy_B5 = arcpy.RasterToNumPyArray(rasterB5)
waterVapor = 0.24+0.503*(numpy_B4 - numpy_B5)
newRaster = arcpy.NumPyArrayToRaster(waterVapor,lowerLeft,cellSize,value_to_nodata=nodata)
newRaster.save(waterVaporOutputName)
también se puede quitar la línea por encima de esta antena en bucle que lee "waterVapor = []"...no es necesario.
si usted no tiene una licencia para .archivo asc de la escritura, usted puede tratar de rodar su propio.
Crear un archivo Raster de una ASCII grid archivo?
quitar este:
newRaster = arcpy.NumPyArrayToRaster(waterVapor,lowerLeft,cellSize,value_to_nodata=nodata)
newRaster.save(waterVaporOutputName)
y poner esto en su lugar (con .asc extensión) (en el mismo guión, por supuesto)
#write out dummy ascii raster file:
out = open('waterVaporOutputName', 'wb+')
out.write('ncols %i\n' % numpy_B4.shape[1])
out.write('nrows %i\n' % numpy_B4.shape[0])
out.write('xllcorner %i\n' % rasterB4.extent.XMin)#dummy or put your own
out.write('yllcorner %i\n' % rasterB4.extent.YMin)#dummy or put your own
out.write('cellsize %i\n' % cellSize)
out.write('NODATA_value %i\n' % nodata)
np.savetxt(out, waterVapor, fmt='%%.%5f')
out.close()