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?

  • 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 '17 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 '17 at 0:35
  • Pixel depth is 32 bit for both rasters. – user5858 Feb 16 '17 at 1:32
  • I didn't know Image Analysis was on the fly... that helps to explain the display stats. – user5858 Feb 16 '17 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 '17 at 1:36
3

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.

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.