I have a Weighted Overlay raster which contains surface friction values in the VALUE field. I want to apply a formula to convert friction value to speed. How do I select a field in the layer so it will do it for all 45 values in the layer?
Raster Layer Name: WO_equal_2
Field in layer to use: VALUE
Data range in Value is from: 150 to 1000
Formula used in Raster Calculator: Speed - ((Value/1000)*40) (equation works in Excel)
WO_equal_2 has an attribute table with three fields: OBJECTID*, Value, Count
Result is a new Raster layer with only two values. Seems to only read first row and applies formula to both Value and Count field.
Going back to olden days (Pre ArcGIS 10) we had dot command to do this in Raster Calculator.
I have tried this in three versions of ArcGIS desktop (10.1, 10.3, and 10.5)
Any and all suggestions to an easy solution welcome.
from weighted overlay you need two rasters at least, both integer. What is the Speed raster?
Hi Dan,
Thanks for the quick reply. I have created a friction raster using Weighted Overly (from five source rasters). This has produced a friction cost surface for movement. What I want to do is use Raster Calculator to select Value field from the WO Raster and apply a formula to convert friction value to KPH speed. I am happy to have either a new raster layer with the converted values or an additional field in the WO Raster. Does that help explain what I was trying to achieve?
Cheers
Jeff
The above expression should work considering Speed and Surface_Friction rasters are available. In Raster Calculator, the calculation is based on the Value field of both rasters. You just need to define the appropriate Raster_dataset name in place of Speed and Value.
e.g.
"Speed_Ras" - (("Friction_Ras"/1000)*40)
where Speed_Ras and Friction_Ras are the names of the Raster datasets.
If your raster is an integer raster, it will have an attribute table just as you describe. The VALUE field represents the values of your raster. You could manipulate the attribute table and add new fields and fill them with the corresponding data. The tool Lookup—Help | ArcGIS Desktop would be the tool that allows you to assign the values in a field to your pixels.
In your case you don't seem to have additional fields in the attribute table and the values in the VALUE field already represent the values in the raster. In your example it seems that you already have your friction raster ("WO_equal_2"). So you can just follow the suggestions provided by Jayanta Poddar
In case I am wrong and you want something to create 45 rasters, one for each value in your attribute table, this can be achieved with some python coding. If that is the case, just let us know and we can post some example code to get you started.