4

I'm trying to calculate NDVI from Landsat 5 imagery. I'm using ArcMap 10.2.2. I know that the formula for NDVI is (VIS-INFRA)/(VIS+INFRA), where in Landsat 5 VIS= band 3 and INFRA= band 4.

When I plug this into the raster calculator I get a raster with a max of 0.8, a min of -0.4 and a std of 0.1.

The NDVI tool in the Image Analysis window seems convenient (and would save a minute or two for each calculation if it worked properly), so I tried using that as well. I included a picture of how I'm using the image analysis window. I first designate the correct bands in the options menu, then highlight the proper bands and click on the NDVI button.

The raster I get from this tool has a max 0.98 a min of -0.98 and a std of 0.18. This histograms of both NDVI rasters look completely different.

Am I using the image analysis tool incorrectly? Or which approach in this case would give me the true NDVI values? I am leaning towards the NDVI values I calculated using the raster calculator as being correct, since an NDVI of 0.98 seems unreasonably high for my study area (urban). enter image description here

Perplexingly, when I use the identify tool and pick any random location, I get the same NDVI value to six decimal places for both rasters. I'm not sure how that can be, yet to have the NDVI raster made through Image Analysis report a min, max, and std very different from the other raster.

enter image description here

Has anyone else run into a similar situation?

6
  • 1
    Could you please confirm the raster bit depth for the raster calculator NDVI and the image processing toolbar NDVI? Properties > Source > Pixel Depth
    – Aaron
    Feb 15, 2017 at 22:33
  • 1
    If the identify tool is returning identical values, I wouldn't worry. It's probably just a difference in display statistics calculation. Do you know the Image Analysis functions work and why they're so much quicker? It's because they don't actually do the calculation on the raster data, they do it on the fly on just the visible screen pixels (which are resampled obviously). It's not surprising that the display stats differ.
    – user2856
    Feb 16, 2017 at 0:35
  • Pixel depth is 32 bit for both rasters.
    – user5858
    Feb 16, 2017 at 1:32
  • I didn't know Image Analysis was on the fly... that helps to explain the display stats.
    – user5858
    Feb 16, 2017 at 1:33
  • Thanks for your comments.... This was helpful. I'll stick with the raster calculator, but it's good to know that I didn't do something wrong.
    – user5858
    Feb 16, 2017 at 1:36

2 Answers 2

4

As the identify tool is returning identical values, I wouldn't worry. It's probably just a difference in calculation of display statistics.

The Image Analysis functions don't actually do the calculation on the raster data and output new permanent raster datasets, rather they define a function and output a temporary layer with that function definition that references the original raster. When you view that temporary layer, the function is applied on the fly to just the visible screen pixels (which are resampled obviously).

This is why it's so much quicker to create and view these layers. To create a permanent dataset with the function applied, you need to export the temporary layer to a new raster dataset. This will take roughly the same time as calculating it via the raster calculator.

0

Just export it as a permanent raster. both method will give same output. here is an example. enter image description here

You can watch this video. https://youtu.be/ECmYdYk_nVw

1
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Aug 4, 2022 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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