reclass multiple files

473
3
06-13-2011 08:41 PM
SarahBurns
New Contributor
Hi All,
I would like to reclassify many rasters with the same classifications but I am receiving an error
Runtime error <type 'exceptions.RuntimeError'>: Object: Error in executing tool

not sure where I am going wrong
Thanks

import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")

env.workspace = "D:/reclass/reclassinputs"
output_workspace="D:/reclass/reclassoutputs"
reclassfield = "Value"
remap=RemapValue([[0,11,1],
                  [12,24,2], 
                  [25,49,3],
                  [50,74,4],
                  [75,99,5],
                  [100,350,6]])
rasterlist = []
for rasters in arcpy.ListRasters():
    rasterlist.append(rasters)
    outReclassify=Reclassify(rasterlist, reclassfield, remap, "NODATA")
outReclassify.save(output_workspace)
print "done"
Tags (2)
0 Kudos
3 Replies
ArkadiuszMatoszka
Occasional Contributor II
What is 3rd value in RemapValue args?

and one more thing, in Reclassify you should use raster, not raster list so:
for raster in arcpy.ListRasters():
    outReclassify=Reclassify(raster, reclassfield, remap, "NODATA")
    outReclassify.save(output_workspace)
print "done"


Hope it will help.
0 Kudos
SarahBurns
New Contributor
Thank you for responding.
the 3rd value in the Remap is the range so [0,11,1] means for all values 0 to 11 reclass as 1. It seems to be the correct way for a range?

I have tried to rerun with your changes but my problem seems to occur in the output path section. I have tried something new but it is still not working. It appears to process one of the files and outputs 3 files including:
.img
.img.vat.dbf
.img.vat.dbf------.sr.lock???
Just need help with how to output each reclassified *.img into a different folder.
thanks

import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
import os

inputfolder="D:/reclass/reclassinputs"
env.workspace = inputfolder
outputfolder="D:/reclass/reclassoutputs"
reclassfield = "Value"
remap=RemapValue([[0,11,1],
                  [12,24,2], 
                  [25,49,3],
                  [50,74,4],
                  [75,99,5],
                  [100,350,6]])


for raster in arcpy.ListRasters("","IMG"):
    print raster
    inputpath=os.path.join(inputfolder,raster)
    outputpath=os.path.join(outputfolder,raster)
    outReclassify=Reclassify(inputpath, reclassfield, remap, "NODATA")
outReclassify.save(outputpath)
print "end of processing"
0 Kudos
SarahBurns
New Contributor
help for others with the same problem, this works:

import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
import os

inputfolder="D:/reclass/reclassinputs"
env.workspace = inputfolder
outputfolder="D:/reclass/reclassoutputs"
reclassfield = "Value"
remap=RemapValue([[0,11,1],
                  [12,24,2], 
                  [25,49,3],
                  [50,74,4],
                  [75,99,5],
                  [100,350,6]])

for raster in arcpy.ListRasters("","IMG"):
    print raster
    outReclassify=Reclassify(raster, reclassfield, remap, "NODATA")
    outReclassify.save((os.path.join(outputfolder, "reclass_"+raster)))
print "end of processing"
0 Kudos