TransWikia.com

How to standardize raster output from 0 to 100 using raster algebra?

Geographic Information Systems Asked on March 17, 2021

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?

3 Answers

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.

Correct answer by Jeffrey Evans on March 17, 2021

Remember that, for standardizing data, you assume that this data is in a normal distribution. If the data is not in a normal distribution, it is advisable to use percentile rank instead of normalization. A good explanation about the theory and about how to do it in SPSS are in these links:

http://www.psychstat.missouristate.edu/introbook/sbk14m.htm

http://blogs.perficient.com/businessintelligence/2012/03/21/ranking-your-cases-ibm-spss-statistics/ Anyway, if you are using ArcGIS, a good option is to stretch your raster using "Equalize Histogram", than export the raster ("Data" -> "Export data") using the option "use renderer" and setting the "No Data Value" to 0. This will give you a percentile rank from 1 to 255 and you can re-scale it dividing your raster values by 2.5.

Answered by Vitor Vieira Vasconcelos on March 17, 2021

Using Reclassify tools from arctool box also we can standardize the raster layer to a specified scale (1 to 3) (1 to 5) (1 to 9) (1 to 100).

Answered by Emal omari on March 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP