Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I need to conbine two-16 day NDVI image into monthly NDVI image. To do this, what kind of function and formula are used in ENVI, ARCGIS or ERDAS?

Best regards,

share|improve this question
What sensor is your NDVI from (Modis, AVHRR, Landsat etc...) and what format are the images in? –  Luke May 26 '11 at 10:16
add comment

4 Answers

To do this correctly you need to recover the NIR and visible bands (VIS). This is because, by definition, NDVI is the ratio (NIR-VIS):(NIR+VIS).

To analyze the situation, let's use subscripts (1) and (2) to denote the two 16-day values and no subscript for the one-month value. Observe that NIR-VIS = NDVI*(NIR+VIS). Also, because the two time periods have equal lengths, the mean NIR for the month is the average of NIR(1) and NIR(2); likewise, the mean VIS for the month is the average of the VIS(i) grids. (The cumulative NDVI of course is the sum of the component grids; this does not change the following result at all.) Assuming little or no overlap in time periods, we can use these observations to compute

NDVI = (NIR - VIS) : (NIR + VIS)
     = ((NIR(1) + NIR(2))/2 - (VIS(1) + VIS(2)/2)) : ((NIR(1) + NIR(2))/2 + (VIS(1) + VIS(2))/2)
     = (NIR(1) - VIS(1) + NIR(2) - VIS(2)) : (NIR(1) + VIS(1) + NIR(2) + VIS(2))
     = (NDVI(1) * W(1) + NDVI(2) * W(2)) : (W(1) + W(2))

with "weights" W(i) = NIR(i) + VIS(i), i = 1,2. That's as far as we can get: there's no way in general to eliminate the W(i) terms. This result exhibits the NDVI for the month as a weighted average of the NDVI values for the component periods.

If you have evidence, or are willing to assume, that the NIR + VIS values have not appreciably changed in any locations between the two time periods, then W(1) = W(2) and the formula becomes the usual arithmetic average: add the two NDVI(i) grids and divide by two. If, on the other hand, there is any appreciable change in NIR + VIS between those periods, then averaging will give incorrect values in the affected cells.

A similar (but more detailed) analysis indicates that if the two periods appreciably overlap in time, then the calculation of NDVI for the combined period requires the NIR and VIS values for time of overlap, too. This is needed to correct for the "double counting" of the overlap period in the weighted average process.

share|improve this answer
add comment

Your questions seems quite unclear to me but, as per my experience in dealing with NDVI. I guess you are talking about cumulative NDVI. You can use Add raster feature of ARCGIS

share|improve this answer
Thanks for you answer. Yes, I mean the monthly NDVI image is cumulative NDVI. I need to the value of NDVI in a certain month. But I have NDVI images with the temporal resolution of 16 days. –  user3063 May 26 '11 at 9:01
add comment

If you are using MODIS and have the raw data (HDF-EOS), one of the subdatasets documents for each pixel the date of the NDVI/EVI value used in the composite. See http://tbrs.arizona.edu/project/MODIS/MOD13.C5-UsersGuide-HTML-v1.00/sect0005.html#table:Product_MOD13Q1

share|improve this answer
add comment

I believe the answer is much simpler than the (excellent and well-stated) method put forth by @whuber. AFAIK, the composite 16-day product by MODIS (I'm assuming that's what you're talking about) is acquired by using the highest NDVI value over the time period. So to broaden the window to a month-ish, simply take the larger of the two composites for each pixel. Something along the lines of:

if composite_2 > composite_1
then use composite_2
otherwise use composite_1

Obviously you'll need to adapt that to whatever platform you're using, be it band math in ENVI, or the Raster calculator in Arc.

share|improve this answer
add comment

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.