I am trying to calculate NDVI anomalies for three years satellite images in ArcMap 10.2. I am doing it by using formula:

[{(NDVImax_2000) - (mean_NDVImax)} / (mean_NDVImax + NDVImax_2000)] * 100

I am getting values ranging from -1,186,718.25 - 28,256,364 I am not sure if the software is calculating it properly. Also, the image I get in the result turn dark not showing any pixel, see below:

enter image description here

  • Have you tried stretching the values between -100 and 100. Using the raster calculator has been known to give extreme values in very few borderline cases, which in turn means that the default colour stretch becomes misleading. Jun 14 '16 at 14:44
  • Please clarify your answer.How to stretch values between -100 and 100?
    – n.k
    Jun 14 '16 at 16:02
  • Output to grid not to fgdb raster might help
    – FelixIP
    Jun 14 '16 at 18:30
  • I suspect not , Arc has no idea you are doing an NDVI. You are just doing Raster Math and your statement has issues as pointed out by Jacob. By the way some systems are not -1 to 1 with NDVI, as they should be. See MODIS for example. Jun 15 '16 at 1:01

First you need to fix your raster calculator statement. You can only use parenthesis for nested orders of operation.

((NDVImax_2000 - mean_NDVImax) / (mean_NDVImax + NDVImax_2000)) * 100

I tested this statement with two random rasters that had similar minimum and maximum values and it is possible to get that range of values in the result. The fact that the range is so large and only a few values are near the extremes is making the stretched image look uniform. You can try this statement as a test to see the distribution of your results.

Int(((NDVImax_2000 - mean_NDVImax) / (mean_NDVImax + NDVImax_2000)) * 100)

It will give you an integer version of your result, which will be rounded, but you can build an attribute table for it so you can produce a histogram of the values.

  • I tries using your statement but again i got large range with uniform image. this time range is from -118671824 to +117135376 where do you think the mistake lies?
    – n.k
    Jun 14 '16 at 16:06
  • Like Mikkel said above, sometimes you get some extreme values in raster calculations. I don't think there is a mistake in the calculation statement. See this post for how to set custom minimum and maximum stretch symbology. gis.stackexchange.com/a/91685/70980
    – Jacob F
    Jun 14 '16 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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