0

I have a problem with the raster calculator of ArcMap 10.5.1 because it only gives out a raster with 0 an 1 values. I'd like to calculate the Leaf Area Index out of a NDVI-Raster by using this equation:

LAI = (((1+NDVI)/(1-NDVI))*NDVI)^0.5

I already have a raster with the NDVI values ranging from approx. -0.699 to approx. 0.823. In the raster calculator I used the following expression:

(((1+"NDVI.img")/(1-"NDVI.img"))*"NDVI.img")^0.5 

where "NDVI.img" is the raster file I named above. I looked at the graph of the equation and it should give out decimal values higher than 0, but I only get a raster file full of 1 and no stretched values. Can you tell me what I did wrong?

PS.: I already tried putting float(...) around the equation but that didn't help. Neither did using the float(...) command on the NDVI.img file beforehand.

  • 1
    Is the output raster being stored with integer level precision? – WhiteboxDev Dec 17 '18 at 12:52
  • what are your output raster settings? – Mazu_R Dec 17 '18 at 13:01
  • I actually don't know where to change the output raster properties because I created a new one by typing the desired name directly into the raster calculator pop up window. Would it be better to create an empty raster first and than calculate the values? – Lisa-Marie Hille Dec 17 '18 at 13:18
  • @Mazu_R I tried to create a new Raster dataset and chose that as output raster in the calculator. I set the Pixel type to 32_BIT_FLOAT but it did not work. Again only 0 values for the whole area. When looking at the properties of either the raster created beforehand or the raster created by typing a new name in the calculator output field, the pixel type changed to signed integer... – Lisa-Marie Hille Dec 17 '18 at 13:28
  • @Lisa-MarieHille the raster type signed integer is the problem, I do not have arcgis. Can you provide a screenshot of the window where you set the options? while writing the above expression, do you see any preview of an output value as example? – Mazu_R Dec 17 '18 at 14:06
2

I'd think you're using the Boolean XOr operator.

Probably that expression needs to be narrow as follows:

SquareRoot (((1+"NDVI.img")/(1-"NDVI.img"))*"NDVI.img")
  • Thank you very much for this answer! It solved the problem at instance. – Lisa-Marie Hille Dec 17 '18 at 14:53

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.