Iteration of Coefficients in Raster Calculator

1722
2
07-25-2016 10:56 AM
PolashBanerjee
New Contributor II

I have an expression in the form of:

a1*Map1 + a2*Map2 + ........+ aN*MapN

which I want to insert in the Raster Calculator. There are 100 sets of the coefficients:

set1 = {a1.1, a2.1, ......, aN.1}, .........., set100 = {a1.100, a2.100, ......, aN.100}

which are available in the form of columns in an excel file. I want to use a model builder iterator to extract each column at a time and insert them in the raster calculator, may be in the form of:

%a1%*Map1 + %a2%*Map2 + ........+ %aN%*MapN           (if it is at all right !)

and generate 100 rasters.

Any help !

0 Kudos
2 Replies
DanPatterson_Retired
MVP Emeritus

sourcing inputs from excel is less than advisable.  what is the intent? have you considered scripting the whole process instead?  if you need to get access to raster values, you might want to examine RasterToNumPyArray in the arcpy rather than loading 100's of raster datasets, which will probably fail at some point

RasterToNumPyArray—Help | ArcGIS for Desktop

PolashBanerjee
New Contributor II

The Coefficients are constants for the expression. I have generated them using Monte Carlo Simulation to perform spatial sensitivity analysis to observe change in the composite map to change in  the importance/weight/Value of environmental attributes. The composite map has been generated by raster overlay analysis using raster calculator using the expression discussed earlier.

For instance,  say there are three air pollution maps of , Carbon monoxide, Particulate matter and Nitrogen dioxide distribution over an area and say their expert opinion based importance/ weight/ value are 0.5, 0.3 and 0.2 respectively. Hence, the raster calculator expression will be:

0.5*[Carbon Monoxide layer] + 0.3*[Particulate Matter layer] + 0.2*[Nitrogen dioxide layer] = composite map

Furthermore, I have generated 100 sets of perturbations of the set {0.5,0.3,0.2} say, {0.4, 0.4, 0.2} and so on, using Monte Carlo Simulation. Now I want to use these sets of perturbed values to generate 100 new composite maps using Raster calculator and some form of iterator.

I am absolutely new in Python programming. so, I will really appreciate any form of scripting help.

0 Kudos