# Import arcpy module import arcpy from arcpy import env from arcpy.sa import * # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Input data source arcpy.env.workspace = "S:/Work/Risa/Trials_Errors/InputFiles02" arcpy.env.overwriteOutput = True ZoneShapefile = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" # Output File OutputFolder = "S:/Work/Risa/Trials_Errors/ZonalStats" # Loop through a list of files in the workspace RasterFiles = arcpy.ListRasters() # Local variables: for filename in RasterFiles: print("Processing: " + filename) inRaster = arcpy.env.workspace + "/" + filename fileroot = filename outRaster = OutputFolder + "/" + "Avg_" + fileroot + ".tif" # Process: Zonal Statistics arcpy.gp.ZonalStatistics_sa(ZoneShapefile, "FID", inRaster, outRaster, "MEAN", "DATA") print " " print ":o) End Processing :)"
# Import arcpy module import arcpy # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Local variables: PINEMAP_Counties_USCensus = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" arcpy.env.overwriteOutput = True ppt_1970_01_tif = "S:/Work/Risa/Trials_Errors/InputFiles02/ppt_1970_01.tif" ZonalSt_shp2 = "S:/Work/Risa/Trials_Errors/ZonalStats/ZonalSt_shp.tif" # Process: Zonal Statistics arcpy.gp.ZonalStatistics_sa(PINEMAP_Counties_USCensus, "FID", ppt_1970_01_tif, ZonalSt_shp2, "MEAN", "DATA") print "Done!"
arcpy.sa.ZonalStatistics(...)
arcpy.sa.ZonalStatistics(ZoneShapefile, "FID", inRaster, outRaster, "MEAN", "DATA")
Dear Matt,
This what I got when I usedarcpy.sa.ZonalStatistics(ZoneShapefile, "FID", inRaster, outRaster, "MEAN", "DATA")
Traceback (most recent call last):
File "S:/Work/Risa/Python codes/zonalStats_test.py", line 38, in <module>
arcpy.sa.ZonalStatistics(ZoneShapefile, "FID", inRaster, outRaster, "MEAN", "DATA")
TypeError: ZonalStatistics() takes at most 5 arguments (6 given)
Now, i can see what you mean by those temporary raster files. That is now a minor problem. The major problem is (I think), the program can't read the raster files.
Risa
# Import arcpy module import arcpy # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Local variables: PINEMAP_Counties_USCensus = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" arcpy.env.overwriteOutput = True ppt_1970_01_tif = "S:/Work/Risa/Trials_Errors/InputFiles02/ppt_1970_01.tif" ZonalSt_shp2 = "S:/Work/Risa/Trials_Errors/ZonalStats/ZonalSt_shp.tif" print "reading file" # Process: Zonal Statistics arcpy.gp.ZonalStatistics_sa(PINEMAP_Counties_USCensus, "ZoneField", ppt_1970_01_tif, ZonalSt_shp2, "MEAN", "DATA") print "Done!"
# Import arcpy module import arcpy from arcpy import env from arcpy.sa import * # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Input data source arcpy.env.workspace = "S:/Work/Risa/Trials_Errors/InputFiles02" arcpy.env.scratchWorkspace = "S:/Work/Risa/Trials_Errors/ScratchWorkSpace" arcpy.env.overwriteOutput = True ZoneData = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" # Output File OutputFolder = "S:/Work/Risa/Trials_Errors/ZonalStats" # Loop through a list of files in the workspace RasterFiles = arcpy.ListRasters() print RasterFiles # Local variables: for filename in RasterFiles: print("Processing: " + filename) inRaster = arcpy.env.workspace + "/" + filename fileroot = filename outRaster = OutputFolder + "/" + "Avg_" + fileroot + ".tif" # Process: Zonal Statistics #arcpy.gp.ZonalStatistics_sa(ZoneData, "ZoneField", inRaster, outRaster, "MEAN", "DATA") #arcpy.sa.ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") #outZonalStatistics = ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") # Process: Copy Raster #outZonalStatistics.save(OutputFolder + outRaster) print " " print ":o) End Processing :)" print arcpy.GetMessages()
for filename in RasterFiles: print "Processing: {0}".format(filename) inRaster = os.path.join(input_dir,filename) outRaster = os.path.join(OutputFolder,"Avg_" + filename) # Process: Zonal Statistics saveRaster = arcpy.sa.ZonalStatistics(ZoneShapefile, "FID", inRaster, "MEAN", "DATA") saveRaster.save(outRaster)
# Import arcpy module import arcpy, os from arcpy import env from arcpy.sa import * # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Input data source arcpy.env.workspace = "S:/Work/Risa/Trials_Errors/InputFiles02" arcpy.env.scratchWorkspace = "S:/Work/Risa/Trials_Errors/ScratchWorkSpace" arcpy.env.overwriteOutput = True ZoneData = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" # Output File OutputFolder = "S:/Work/Risa/Trials_Errors/ZonalStats" # Loop through a list of files in the workspace RasterFiles = arcpy.ListRasters() print RasterFiles print " " # Local variables: for filename in RasterFiles: print "Processing: {0}".format(filename) input_dir = arcpy.env.workspace inRaster = os.path.join(input_dir,filename) outRaster = os.path.join(OutputFolder,"Avg_" + filename) # Process: Zonal Statistics saveRaster = arcpy.sa.ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") saveRaster.save(outRaster) print " " print ":o) End Processing :)" print arcpy.GetMessages()
[u'ppt_1970_03.tif', u'ppt_1970_04.tif', u'ppt_1970_05.tif'] Processing: ppt_1970_03.tif Traceback (most recent call last): File "S:/Work/Risa/Python codes/zonalStats_test02.py", line 39, in <module> saveRaster = arcpy.sa.ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Functions.py", line 5787, in ZonalStatistics ignore_nodata) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Utils.py", line 47, in swapper result = wrapper(*args, **kwargs) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Functions.py", line 5780, in wrapper ignore_nodata) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\geoprocessing\_base.py", line 474, in <lambda> return lambda *args: val(*gp_fixargs(args)) ExecuteError: ERROR 999999: Error executing function. Failed to open raster dataset Failed to execute (ZonalStatistics).
# Import arcpy module import arcpy from arcpy import env from arcpy.sa import * # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Input data source arcpy.env.workspace = "S:/Work/Risa/Trials_Errors/InputFiles02" arcpy.env.scratchWorkspace = "S:/Work/Risa/Trials_Errors/ScratchWorkSpace" arcpy.env.overwriteOutput = True ZoneData = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" # Output File OutputFolder = "S:/Work/Risa/Trials_Errors/ZonalStats" # Loop through a list of files in the workspace RasterFiles = arcpy.ListRasters() print RasterFiles print " " # Local variables: for filename in RasterFiles: print("Processing: " + filename) inRaster = arcpy.env.workspace + "/" + filename fileroot = filename outRaster = OutputFolder + "/" + "Avg_" + fileroot + ".tif" # Process: Zonal Statistics outZonalStatistics = arcpy.sa.ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") # Process: Copy Raster outZonalStatistics.save(outRaster) print " " print ":o) End Processing :)" print arcpy.GetMessages()
>>> ================================ RESTART ================================ >>> [u'ppt_1970_03.tif', u'ppt_1970_04.tif', u'ppt_1970_05.tif'] Processing: ppt_1970_03.tif Traceback (most recent call last): File "S:\Work\Risa\Python codes\zonalStats_test.py", line 39, in <module> outZonalStatistics = arcpy.sa.ZonalStatistics(ZoneData, "ZoneField", inRaster, "MEAN", "DATA") File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Functions.py", line 5787, in ZonalStatistics ignore_nodata) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Utils.py", line 47, in swapper result = wrapper(*args, **kwargs) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\sa\Functions.py", line 5780, in wrapper ignore_nodata) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\geoprocessing\_base.py", line 474, in <lambda> return lambda *args: val(*gp_fixargs(args)) ExecuteError: ERROR 999999: Error executing function. Failed to open raster dataset Failed to execute (ZonalStatistics). >>>
# Import arcpy module import arcpy from arcpy import env from arcpy.sa import * # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Input data source arcpy.env.workspace = "S:/Work/Risa/Trials_Errors/InputFiles02" arcpy.env.scratchWorkspace = "S:/Work/Risa/Trials_Errors/ScratchWorkSpace" arcpy.env.overwriteOutput = True ZoneData = "S:/Work/Risa/USA Boundary_AlbersNAD83/PINEMAP_Counties_USCensus.shp" # Output File OutputFolder = "S:/Work/Risa/Trials_Errors/ZonalStats" # Loop through a list of files in the workspace RasterFiles = arcpy.ListRasters() print RasterFiles print " " # Local variables: for filename in RasterFiles: print("Processing: " + filename) inRaster = arcpy.env.workspace + "/" + filename fileroot = filename outRaster = OutputFolder + "/" + "Avg_" + fileroot + ".tif" # Process: Zonal Statistics arcpy.gp.ZonalStatistics_sa(ZoneData, "ZoneField", inRaster, outRaster, "MEAN", "DATA") print " " print ":o) End Processing :)" print arcpy.GetMessages()
>>> ================================ RESTART ================================ >>> [u'ppt_1970_03.tif', u'ppt_1970_04.tif', u'ppt_1970_05.tif'] Processing: ppt_1970_03.tif Traceback (most recent call last): File "S:\Work\Risa\Python codes\zonalStats_test.py", line 39, in <module> arcpy.gp.ZonalStatistics_sa(ZoneData, "ZoneField", inRaster, outRaster, "MEAN", "DATA") File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\geoprocessing\_base.py", line 474, in <lambda> return lambda *args: val(*gp_fixargs(args)) ExecuteError: ERROR 999999: Error executing function. Failed to open raster dataset Failed to execute (ZonalStatistics). >>>