AnsweredAssumed Answered

Reclassify raster - floating point to categorical

Question asked by lpalao on May 26, 2015
Latest reply on Jun 1, 2015 by curtvprice

Dear Arcpy Users,

 

I am reclassifying my raster data but I cannot get the output that I want. The case is, I have a floating point raster, in which, I want to reclassify it into categorical values. It is quite weird that some of my values are reclassified outside the range of values that I set. For instance,

 

output categorical raster          original raster

1                                                 1.24941356103

1                                                 0.944287159553

1                                                 0.70514940818

0                                                 0.0177492300117

0                                                 2.72532446104e-07

250                                             -6.0889773748

 

This is the reclassification method that I want to do.

-50 to -2.58 = 6

-2.58 to -1.96 = 5

-1.96 to -1.65 = 4

-1.65 to -1.29 = 3

-1.29 to 2.58 = 2

2.58 to 50 = 1

other pixels = No data

 

Here is the code that I am running.

 

import arcpy, os, sys
from arcpy import env
from arcpy.sa import *

arcpy.env.overwriteOutput = True
arcpy.CheckOutExtension("Spatial")
arcpy.env.extent = "MAXOF"

arcpy.env.workspace = r'directory\of\rasters\test'
rasters = arcpy.ListRasters("*","TIF")

out_ws = 'output/directory/Reclass/'
if not os.path.exists(out_ws):
  os.makedirs(out_ws)

for raster in rasters:
  name, ext = raster.split(".")
  fileout = out_ws + name + "_reclass" + ".tif"
  outReclass = Reclassify(raster, "Value", RemapRange([[-50.0,-2.58,6],[-2.58,-1.96,5],\
  [-1.96,-1.65,4],[-1.65,-1.29,3],[-1.29,2.58,2],[2.58,50.0,1]]),"NODATA")
   
  outReclass.save(fileout)

Outcomes