RAVI - Remote Analysis of Vegetation Indices
RAVI is a QGIS plugin designed to integrate with Google Earth Engine (GEE), enabling simplified processing and visualization of geospatial data from the harmonized surface reflectance catalog of the Copernicus Sentinel-2 mission satellites. The plugin supports vegetation index calculations, visualization, and download of multispectral images. These features make it a valuable tool for students, researchers, farmers, and professionals working in agriculture, land monitoring, or environmental management.
Key Features
- Integration with Earth Engine: Easy authentication, direct processing, and immediate visualization of Sentinel-2 data in QGIS.
- Vegetation Index Calculations: Support for indices such as NDVI, EVI, SAVI, and GNDVI, on specific dates or in composite images.
- Time Series Analysis: Generation of time series, integration of NASA POWER precipitation data, and smoothing with Savitzky-Golay filters.
- Interactive Visualization: Creation of interactive charts, raster styling, and export options.
Installation
To install RAVI:
- Open QGIS and navigate to the Plugins menu.
- Select Manage and Install Plugins.
- In the "All" tab, search for "RAVI", select it, and click Install.
- Ensure that RAVI is checked in the installed plugins list.
- IMPORTANT: Restart QGIS
Step by step guide
Step 1: Authentication



- If you don't have a Google Earth Engine account, you can create one and register a project here.
- Open the Google Earth Engine Code Editor to find your project ID.
- You can also find the project ID in the Google Cloud Console under the "Project Info" section.
- After entering your project ID, click Setup Authentication.
- Authorize the plugin to access your Earth Engine account.
Step 2: Select output folder

Choose the folder where you want to save the output files.
Step 3: Load and select the area of interest (AOI)

- Select an AOI by loading a shapefile or GeoJSON file.
- Ensure the geometry is valid (Polygon or MultiPolygon only).
- Add a Google Maps layer to the QGIS canvas for better visualization and context.
- Use the Build AOI from Canvas Extent button to generate a new AOI based on the current canvas extent.
Step 4: Define time range for imagery search

Set a custom time range or select a suggested one.
Step 5: Select vegetation index for time series analysis

Choose the vegetation index you want to analyze from the dropdown menu.
Step 6: Imagery Overlap filter

Set the specified filter according to your analysis requirements.
Step 7: AOI Buffer

Set the Buffer according to your analysis requirements.
Step 8: Cloud pixel percentage filter

Set the specified filter according to your analysis requirements.
Step 9: Valid pixel percentage filter

Set the specified filter according to your analysis requirements.
Panel
1. Time Series Plot

- Visualize the time series of the selected vegetation index over the defined AOI.
- Hover over the plot to see specific values and dates for detailed analysis.
2. Load RGB Layer (Focus on a Day)

Load and display an RGB layer for a specific date to analyze the visual appearance of the area. All spectral bands are downloaded, and the band numbers correspond to the Sentinel-2 bands as listed below:
Sentinel-2 Band Name | QGIS Band Number | Wavelength (nm) | Spatial Resolution (m) |
---|---|---|---|
Band 1 (Coastal aerosol) | 1 | 443 | 60 |
Band 2 (Blue) | 2 | 490 | 10 |
Band 3 (Green) | 3 | 560 | 10 |
Band 4 (Red) | 4 | 665 | 10 |
Band 5 (Vegetation Red Edge) | 5 | 705 | 20 |
Band 6 (Vegetation Red Edge) | 6 | 740 | 20 |
Band 7 (Vegetation Red Edge) | 7 | 783 | 20 |
Band 8 (NIR) | 8 | 842 | 10 |
Band 8A (Vegetation Red Edge) | 9 | 865 | 20 |
Band 9 (Water Vapour) | 10 | 945 | 60 |
Band 11 (SWIR) | 11 | 1610 | 20 |
Band 12 (SWIR) | 12 | 2190 | 20 |
Note on Band 10
Please note that Band 10 (SWIR - Cirrus) is not available in the Harmonized Surface Reflectance (S2_SR_HARMONIZED) catalog of Sentinel-2. This band is primarily used for cirrus cloud detection and is excluded from the SR dataset due to its limited applicability in surface analysis.
3. Load Index Layer (Focus on a Day)

Load and display a vegetation index layer for a specific date.
4. Load Index Layer (Composite)

Generate and display a composite image based on the selected vegetation index and the user-defined metric. The composite image will include all images within the current date selection. Use the date selection tool to filter out specific dates.
5. Date Selection Tool

- Use the date selection tool to filter and select specific dates for analysis.
- The tool updates the time series plot.
- Composite images are based on all selected dates.
6. Savitzky-Golay Filter

Apply the Savitzky-Golay filter to smooth the time series data for enhanced trend analysis. Adjust the polynomial order and window length as needed.
7. Save Options



Save the time series data in CSV format. To save the series as an image, open it in your browser to enable the download option.
8. NASA POWER Precipitation

Add monthly precipitation data from NASA POWER for cross-variable comparisons. Save the precipitation data in CSV format.
9. Quickly Run New Time Series

Quickly run a new time series analysis by changing the Area of Interest (AOI), vegetation index, or time range.
10. Clear All Layers

Clear all loaded layers from the QGIS layer panel to start a new analysis or to declutter your workspace.
11. Points Analysis

Perform Points (single pixel) Time Series Analysis. Note the newest point added show up as last in the plot label. Note the points on the map and lines in the plot colors are NOT related.
12. MultiPolygon Analysis

Perform MultiPolygon Time Series Analysis.
Troubleshooting
-
Problem: Module 'ee' not found (Google Earth Engine Python API not installed)
Solution: Open the OSGeo4W Shell and run the following command:
pip install earthengine-api
After installation, restart QGIS.
- Earth Engine Authentication Failed: Ensure you meet all requirements as explained in the authentication section.
- AOI Errors: Verify the AOI file is valid and uses a proper CRS (EPSG:4326 is preferred).
Reporting Issues
If you encounter any issues or have suggestions for improvements, please open an issue in the GitHub Issues section.
Repository
Visit the GitHub repository.
License
RAVI is licensed under the GNU General Public License v2.0 or later. Refer to the LICENSE file for details.
Supervisors
This project was supervised by:
- Prof. Dr. Lucas Rios do Amaral - More about the supervisor
- M.Sc. Isabella Alves da Cunha - More about the co-supervisor