2.5 * ((Float("%Band 4%") - "%Band 3%")) / (Float("%Band 4%") + 6 * "%Band 3%" - 7.5 *"%Band 1%" + 1))
I'm trying to derive Enhanced Vegetation Index (EVI) from Landsat 5 TM data using the raster calculator and I can't seem to get the output I want. Here is a link to the description and formula for EVI:
http://en.wikipedia.org/wiki/Enhanced_vegetation_index
The output should be a raster with values ranging from -1 to 1, but I get values from like 30-40 which is incorrect.
The coefficients you are using are hard-coded for MODIS data sets (as stated in the wikipedia article). Additionally, the values required are not raw Landsat dataset DN values (0-255) but instead must be atmospherically-corrected reflectance values.
Here's a journal article that discusses the processing involved.
http://southwestnwrsnatresources.files.wordpress.com/2011/12/sesnie-et-al-2011.pdf
What data type are the bands? If you have byte or unsigned integer data, you might be getting integer overflows as you're applying the float conversion after the operations. As an example - say you have unsigned 16bit integers, band 4 = 500 and band 43 = 750.
Float(500 - 750) will return 65286 but Float(500) - 750 will return -250.0.
Try:2.5 * ((Float("%Band 4%") - "%Band 3%")) / (Float("%Band 4%") + 6 * "%Band 3%" - 7.5 *"%Band 1%" + 1))
What data type are the bands? If you have byte or unsigned integer data, you might be getting integer overflows as you're applying the float conversion after the operations. As an example - say you have unsigned 16bit integers, band 4 = 500 and band 43 = 750.
Float(500 - 750) will return 65286 but Float(500) - 750 will return -250.0.
Try:2.5 * ((Float("%Band 4%") - "%Band 3%")) / (Float("%Band 4%") + 6 * "%Band 3%" - 7.5 *"%Band 1%" + 1))
What MODIS product are you using?
Are you applying the MYD09A1 scale factor of 0.0001?
2.5 * (("%Band 4%" * 0.0001 - "%Band 3%" * 0.0001)) / (("%Band 4%" * 0.0001) + 6 * ("%Band 3%" * 0.0001) - 7.5 * ("%Band 1%" * 0.0001) + 1))