Tell me more ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am working on generating an integrated moisture index based on the following equation:

IMI = (hill shade * 0.5) + (curvature * 0.15) + (flow accumulation * 0.35)

Iverson et al. 1997

Another source

The equation requires that hillshade, curvature and flow accumulation are standardized from 0 - 100. How can I accomplish this standardization from 0-100 using raster algebra?

share|improve this question
1  
You should contact the authors: they have been remiss in not describing what they did with sufficient clarity to reproduce their work. If the "standardization" is applied on a grid-to-grid basis, it becomes arbitrary and of little scientific use (because the index will depend, among other things, on the extent of the grid, as well as its resolution in the case of curvature). It is also clear that their work is (a) subjective and (b) restricted in applicability to their particular region and their particular datasets: there is no evidence that this index generalizes. – whuber Feb 6 at 19:06
2  
I don't disagree with @whuber and wonder if CTI would not be a more stable index. – Jeffrey Evans Feb 6 at 19:40

1 Answer

up vote 6 down vote accepted

The language of data transformation can be confusing. Standardization refers to transforming your data so it has a mean of 0 and a standard deviation of 1 and is only appropriate for normally (Gaussian) distributed data. Whereas, normalization transforms your data so that the minimum value is 0 and the maximum is 1 while keeping the shape of the original distribution. You are wanting a stretch or normalization.

Here is the raster algebra syntax for a data stretch. The "+ 0" is, in this case, obviously irrelevant but is left in for cases where the desired minimum value is not zero. The min("raster") and max("raster") refer to the global min/max values of the rasters. I provide this example because it allows a specification of any desired output min/max raster values.

("raster" - min("raster")) * 100 / (max("raster") - min("raster")) + 0

In your case you could just normalize and multiply by 100. The reason for this transformation is because the index needs the summed variables to be in the same variable space.

("raster" - min("raster")) / (max("raster") - min("raster")) * 100

If you are using ArcGIS this toolbox has a tool for statistical transformations, including normalization. For this model it is not necessary to have the inputs in a 1-100 range, you can use 0-1 and then multiply the output by 100 to get the desired data range for the index.

share|improve this answer
1  
These points are good but I believe they are not applicable to the question. The referenced paper is horribly vague on precisely what "standardized" (their term) means, but it is evident that the process is intended to create reproducible values that can be used for "prediction." Accordingly, it seems inappropriate to normalize separately within each raster, for then the results are arbitrary (they depend on the grid's extent, for instance). Moreover, because curvature and flow acccumulation have no effective bounds, some form of nonlinear normalization is needed. – whuber Feb 6 at 19:00
1  
@whuber, I don't understand how the answer is not applicable? Could you please clarify what exactly you feel is irrelevant to the question at hand? BTW, I am quite good friends with the authors if you would like me to put you in touch to voice your concerns with the index. – Jeffrey Evans Feb 6 at 23:31
1  
I don't believe it is applicable because I cannot believe this is what the authors meant by "standardize." If it is, their "index" has no generalizability (and its credibility is suspect for that matter), due to the arbitrary factors in its construction. I can see how universal normalization of the hillshade is possible (because the authors do provide the hillshading azimuth and elevation), but I cannot see how a universal linear normalization of either curvature or flow accumulation could be defined (or even make physical sense in terms of being linearly related to moisture). – whuber Feb 7 at 0:01
1  
@whuber, I completely agree and do believe that that's exactly what the authors intended. Besides, how does this apply to my answer to this specific question? – Jeffrey Evans Feb 7 at 0:04
1  
Your normalization is perfectly correct in that it rescales all data in a grid to cover the interval [0,1], but therein lies the rub. If you were to apply it to the very same data, but with input rasters covering a greater extent of the earth, then it is possible that the extreme values would change, thereby modifying the normalized values and changing the index. That's what I mean by "arbitrary." – whuber Feb 7 at 0:10
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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