import arcpy, os from arcpy import env from arcpy.sa import * arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True env.workspace = r"C:\Users\Documents\GIS\Site Selection Example\Output Datasets\Cons_Raster" rasterList = arcpy.ListRasters("*") for raster in rasterList: print raster # Execute CellStatistics outCellStatistics = CellStatistics(raster, "SUM", "NODATA") # Save the output outCellStatistics.save("C:/data/sumRast.tif")
import arcpy, os from arcpy import env from arcpy.sa import * arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True env.workspace = r"C:\Users\Documents\GIS\Site Selection Example\Output Datasets\Cons_Raster" rasterList = arcpy.ListRasters("*") print rasterList # Execute CellStatistics outCellStatistics = CellStatistics(rasterList, "SUM", "NODATA") # Save the output outCellStatistics.save("C:/data/sumRast.tif")
I just did the procedure Phil provided and it worked well for me. However, why on earth can you not iterate through a list of rasters and have each one add together? I spent a good 10 hours trying to figure out why this would not work. Seems to me a very stupid limitation since this works for multiple other tools where you can iterate through lists of files.
-Andy
import arcpy, os arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True arcpy.env.workspace = r"C:\Users\Documents\GIS\Site Selection Example\Output Datasets\Cons_Raster" rasterList = arcpy.ListRasters("*") print rasterList sumEmpty = 'Yes' for rasName in RasterList: rasObject = arcpy.Raster(rasName) if sumEmpty == 'Yes': sumRas = rasObject sumEmpty = 'No' else: sumRas = sumRas + rasObject # Save the output sumRas.save("C:/data/sumRas.tif")
yell_rasterList = arcpy.ListRasters("*") for raster in yell_rasterList: sumRasters = Raster("constantRas") + Raster(raster) sumRasters.save("SumRaster")