I downloaded LANDSAT images from 1985-2018 with Google Engine, 2 for each year. Now I want to know how has the vegetation varied over the years with NDVI, using QGIS 3.6.3. Having calculated the index for an image, I want define areas for certain values of NDVI. I'm trying to get, for example, for a value of NDVI from 0.13 to 0.20 to draw the respective area. How can I do that?

EDIT: NDVI and areas to define.

enter image description here


These are two questions:

First question: Explore the NDVI

If you want to explore the values, without having to create a new raster, you can do it through the symbolism.

Previously: The first thing, which I recommend, is to know its statistics and distribution. See the histogram, know the mean, standard deviation, maximum and minimum value. enter image description here

In the styles panel you can see the histogram and the range of values.

Viewing a range of values:

  1. In the styles panel or in layer properties, set interpolation as Discrete.
  2. You can control the way of classification, quantum, equal intervals, continuous. Set it to Quantity or equal intervals
  3. Increase or decrease the number of classes depending on the values you want to explore
  4. Edit the class values, enter image description here
  5. for example, let's say that in the raster of the image I want to highlight the pixels in the range of 35 - 40 enter image description here

Handling symbolism, transparencies and statistics, can help you explore your data, even compare easily.

Also, I recommend you to standardize your data

Second question, atmospheric correction:

if you are going to use several scenes, YES, it is necessary to correct the image, preferably to surface reflectance. You can use a simple and fast method like DOS1 in QGIS,

Why should I correct? The values of your images are in digital levels, these values vary according to the shooting conditions.

Atmospheric correction will allow you to match the units and conditions of shooting, to the percentage of reflectance of each pixel. Therefore, they will be comparable

  • Thank you very much. Just a couple of doubts (sorry, I'm new to this). When you say standardize your data, you're referring to the atmospheric correction of the second question? When I correct the image, does the way for calculating NDVI change? Landsat 8 images have to be corrected also? – AlbertoH Oct 22 '20 at 14:56
  • 1- I recommend you to standardize ( mean- pixel value)/standard deviation, because it will allow you to explore your data. Each pixel value of the raster will be at how many standard deviations from the mean are found. If your data (raster) does not follow a normal distribution you could standardize with the median and interquartile range – Luis Perez Oct 23 '20 at 20:31
  • 2- if when you correct the image the NDVI varies slightly, any radiometric process (altering the value of the pixels) will affect the NDVI – Luis Perez Oct 23 '20 at 20:33
  • 3- it depends, if you download the corrected images, you won't have to. It is now possible to download the current corrected landsat gistorical images. Find out about it – Luis Perez Oct 23 '20 at 20:35

To define areas of certain NDVI values you want to reclassify your raster. So for example you can reclassify all NDVI values between 0.13 to 0.2 to be equal to 1 and all other pixels to be equal to 0 if you wanted a binary raster. You can use the same tool to define multiple categories (i.e. 0-0.13 = 1, 0.13-0.2 = 2, 0.2-0.3 = 3, etc). This QGIS tutorial will walk you through the steps of raster reclassification.

I'm not familiar with Landsat and NDVI specifically, so someone else will have to speak to the need for atmospheric or other corrections prior to calculating NDVI.

  • Thank you! I tried doing the reclassification, but I still can't find a way to obtain the areas of corresponding NDVI categories. Is there a way to do that? – AlbertoH Oct 22 '20 at 21:14
  • Areas of NDVI categories as in how many acres/m^2 are covered by each category? Count the number of pixels (gis.stackexchange.com/questions/83407/…) and multiply by the size of one pixel. – ycartwhelen Oct 23 '20 at 14:21
  • I edited my post to add a screenshot of what I have. What I need is to obtain the values and to add to the figure the areas of each category and of the total NDVI >= 0.13 – AlbertoH Oct 23 '20 at 15:01

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