Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been using NDVIs with limited success to identify trees in the central Great Plains region of the USA. The problem I have been encountering is that reflectance from farm fields/pastures have essentially the same spectral signature as the trees I am identifying. Is there a vegetation index which can be generated from 4-band NAIP imagery that can do a better job at isolating tree cover mixed throughout agricultural areas? Perhaps a pre/post processing step may be most effective? Either way, thanks for the advice.

NDVI Example

share|improve this question
Is one of the bands near Infra Red? – Jakub Jul 20 '12 at 16:24
Yes, band 4 = NIR for the NAIP imagery. – Aaron Jul 20 '12 at 16:28
What does the image look like when you use the NIR? Would this not help better isolate the tree cover? Although vegetation will appear red I find that it is often easier to spot different patterns. Can you post the same image in NIR? Is this a manual process or are you running the imagery trough some type of algorithm that identifies the trees? – Jakub Jul 20 '12 at 16:36
@Jakub: I am using an automated process that identifies trees based on an object-oriented algorithm. Sorry I forgot which image was used for the example, however, the base imagery is standard 4-band NAIP with NIR and RGB. – Aaron Jul 20 '12 at 18:18
up vote 6 down vote accepted

I've used Enhanced Vegetation Index (EVI) data extensively for analyzing agricultural areas. Although I've never used it with NAIP imagery, all you need is red, blue, and IR data.

For your purposes, the biggest advantage of EVI is that it does not "saturate" as easily as NDVI--it offers more contrast (dynamic range) when examining highly vegetated areas like cultivated agricultural fields. The trade-off is that the contrast between low-EVI areas (like deserts or fallow fields) and cultivated areas is not as great. But for your purposes, this doesn't matter.

In this histogram of NDVI data, you can see how most of the agricultural pixels are in far right end of the distribution. There's a lot of dynamic range between 0 and 0.5 that is being wasted. This is akin to having a photograph with improperly adjusted levels. Your tree cover and agricultural fields are probably both in that hump, but because it's all compressed into one little region they look the same color gray.

NDVI histogram


In this histogram of the exact same area but calculated with EVI, you can see how the distribution is more even. The disparity in intensity and coverage of vegetation is represented by a broader swath of values, making it easier to conduct classifications. This will make your trees and agricultural fields have more disparate shades of gray.

EVI histogram


share|improve this answer
@Aaron You can use anything: ENVI, IDL, ArcGIS, NumPy, MATLAB, etc. Calculating EVI is not a particularly complicated formula, the equation is on the Wikipedia page. You just need to use the red, blue, and IR bands and then it's just plug-and-chug. – dmahr Jul 25 '12 at 20:51
@Aaron Did EVI end up working for the tree identification task? – dmahr Aug 1 '12 at 13:45
EVI which were produced from one set of naip imagery worked fantastically. Strangely though, EVI produced from a different state's naip imagery resulted in salt and pepper. Thanks again. – Aaron Aug 2 '12 at 11:57
@Aaron The salt and pepper issue could be due to different labeling in bands. All vegetation indices utilize the "red edge" of vegetation in the near infrared wavelengths. – dmahr Aug 2 '12 at 13:46

Here is a raster algebra statement that will get you the EVI.

( ("band4" - "Band1") / ("Band4" + 6 * "Band1" - 7.5 * "Band3" + 1) ) * 2.5

share|improve this answer
I think that for ArcGIS you will need a Float statement to make sure that the results are kept floating point. ( Float("band4" - "Band1") / Float("Band4" + 6 * "Band1" - 7.5 * "Band3" + 1) ) * 2.5 – Jeffrey Evans Jul 25 '12 at 22:29

Do you have access to another image from the same year but referenced to a different maturity stage? Imagine your image is from the spring, if you have an image from late summer, you'll get the changes in crops and those would help distinguish Agriculture from Forest.

Anyway you have a lot of Vegetation indices options,

most common are:

less common:

  • Perpendicular Vegetation Index Soil
  • Adjusted Vegetation Index
  • Atmospherically Resistant Vegetation Index
  • Global Environment Monitoring Index
share|improve this answer
Thanks for the reply. Unfortunately, these datasets are only available leaf-on in the middle of the growing season. I am exploring, with some initial success, using EVIs. – Aaron Jul 27 '12 at 18:51

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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