5

I have a raster of landuse values that I need to reclassify into pollution concentration values. I have the pollution values in a separate table. They are decimal values (ex. 0.0056), and my landuse values are integers 1 through 6. I have a table mapping the landuse values to the pollution values.

I tried using the Reclass By Table tool, setting my pollution values as the "Output value field", but the tool description says that this field must be an integer field. How can I reclassify the values into decimal values? I feel like I must be missing a much easier, alternate solution.

My goal is to have a pollution concentration raster that I can use later in further calculations.

3 Answers 3

9
  1. Make sure your raster of landuse values has an attribute table
  2. Add a join between landuse attribute table and pollution concentration table
  3. Use the Lookup (Reclass) tool to create a new raster from the landuse raster with the values from the joined pollution concentration field.
2
  • 1
    Why is step 3 needed? Can you not just create a new raster from the concentration values obtained in 2? (One used to be able to do that in older versions of Spatial Analyst.)
    – whuber
    Commented May 17, 2013 at 15:01
  • 4
    @whuber Because the old dot notation (raster.attribute) syntax that ESRI supported for years has been dropped as of ArcGIS 10.
    – user2856
    Commented May 19, 2013 at 11:34
5

You can try a simple way: multiply your concentrations by 10000 (or other value), to get all values as integers. Then you reclassify the raster. This will output a raster of type integer, so convert it to floating point using the float function. Then just divide output raster by the same 10000 using Raster calculator.

1

This can be done with complex conditional statement in the raster calculator. For example, I have a raster with FIDs of 0, 1, 2, and 3, and associated float values for each class. The expression looked like this:

Con("n_scene" == 0,0.04,Con("n_scene" == 1,0.13648,Con("n_scene" == 2,0.10343,Con("n_scene" == 3,0.0369))))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.