Skip to content

Harsh-2531/isro-internship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Crop Phenology Monitoring using Multi-Satellite Remote Sensing

ISRO Internship Research Project — NRSC (National Remote Sensing Centre)


Overview

This research project focuses on monitoring crop phenology in the Birbhum district, West Bengal, India using multi-satellite remote sensing data. The study integrates optical and SAR (Synthetic Aperture Radar) satellite imagery to compute and analyze vegetation indices over the Kharif crop season (June–November 2024).

The core objective is to track crop growth stages by computing NDVI and EVI from multiple satellite sources and filling temporal gaps using SAR-derived backscatter data.


Study Area

  • Location: Birbhum District, West Bengal, India
  • Field Campaigns: September 2024 and October 2024
  • Coordinates Source: GPS-based field data (Shapefiles)

Satellites and Data Sources

Satellite Type Resolution Data Used
Sentinel-2 Optical 10m NDVI, EVI
Sentinel-1 SAR (C-Band) 10m VV, VH Backscatter
Landsat 8 Optical 30m NDVI, EVI
MODIS Optical 250m NDVI, EVI

Vegetation Indices

NDVI (Normalized Difference Vegetation Index)

NDVI = (NIR - RED) / (NIR + RED)

EVI (Enhanced Vegetation Index)

EVI = 2.5 * ((NIR - RED) / (NIR + 6RED - 7.5BLUE + 1))

SAR-derived NDVI (Gap Filling)

NDVI_SAR = 1.0 - 0.6 * VV_norm - 0.4 * VH_norm

SAR Polarization Ratios

C/CP Ratio = VH / VV NPD Ratio = (VH - VV) / (VH + VV)


Project Structure

isro-internship/ │ ├── NDVI_EVI_Mean.py # Compute mean NDVI/EVI from Sentinel-2 + SAR ratios ├── Fill_NDVI_EVI_VALUES.py # Fill missing optical dates using SAR backscatter ├── NDVI_EVI_Export.py # Export NDVI/EVI GeoTIFFs from Sentinel-2 to Drive │ ├── Landsat_FILL.py # Fill Landsat gaps using SAR-derived NDVI/EVI ├── landsat_export.py # Export Landsat 8 NDVI/EVI images to Drive │ ├── MODIS.py # Export MODIS NDVI/EVI time series to Drive │ ├── Phenology.py # SAR backscatter phenology plot (September field) ├── Phenology_OCT_.py # SAR backscatter phenology plot (October field) │ ├── SENTINEL_2_SEPT.py # Optical NDVI/EVI phenology (September field) ├── Sentinel_2_Oct.py # Optical NDVI/EVI phenology (October field) │ ├── Single_Pass_descending.py # VH descending pass phenology analysis │ ├── Merged_Plot_Sept_.py # Multi-satellite EVI comparison (September) ├── Merged_Plot_Oct_.py # Multi-satellite EVI comparison (October) │ ├── Smoothening.py # Savitzky-Golay smoothing of EVI and VH time series │ └── main.py # Entry point


Key Features

1. Multi-Satellite NDVI and EVI Computation

Computes vegetation indices from Sentinel-2, Landsat 8 and MODIS with cloud masking applied using QA bands.

2. SAR-Based Gap Filling

When optical images are unavailable due to cloud cover, missing dates are filled using Sentinel-1 SAR backscatter (VV and VH polarizations) to estimate NDVI and EVI values.

3. Phenology Analysis

Plots crop growth stages against SAR backscatter and optical vegetation indices, with field-observed phenology stages (sowing, tillering, flowering, harvesting) overlaid as vertical markers.

4. Multi-Satellite Comparison

Merges EVI time series from Sentinel-2, Landsat 8 and MODIS for the same field plots to compare temporal resolution and accuracy across sensors.

5. Time Series Smoothing

Applies Savitzky-Golay filter to smooth noisy EVI and VH backscatter signals for better phenology detection.

6. GeoTIFF Export

Exports processed NDVI and EVI images as GeoTIFF files to Google Drive using Google Earth Engine batch export tasks.


Libraries Used

earthengine-api # Google Earth Engine Python API geemap # GEE + GeoPandas integration geopandas # Shapefile handling rasterio # GeoTIFF reading and pixel extraction matplotlib # Plotting and visualization pandas # Data handling and Excel export numpy # Numerical computation scipy # Savitzky-Golay smoothing filter


Platform

All satellite data processing is performed on Google Earth Engine (GEE) cloud platform using the Python API. Local processing handles shapefile operations, pixel extraction from GeoTIFFs and visualization.


Workflow

Field GPS Data (Shapefile) │ ▼ Google Earth Engine │ ┌────┴────┐ │ │ Optical SAR (Sentinel-1) Sentinel-2 VV + VH Landsat 8 MODIS │ │ ▼ ▼ NDVI/EVI Backscatter Computation Ratios │ │ └────┬────┘ │ Gap Filling (SAR fills missing optical dates) │ ▼ Phenology Plots (Growth stages overlaid) │ ▼ Smoothing (Savitzky-Golay filter) │ ▼ GeoTIFF Export (Google Drive)


Results

  • Computed NDVI and EVI time series for Kharif season (June to November 2024)
  • Successfully filled cloud-affected optical gaps using SAR backscatter
  • Generated phenology plots with field-observed crop stages
  • Compared multi-satellite vegetation index profiles for the same field plots
  • Exported processed imagery as GeoTIFF files for further GIS analysis

Note

This repository contains research scripts developed during an internship at NRSC, ISRO. Proxy configurations, internal server paths and GEE project credentials have been used as per NRSC network setup and are not included for public use.


Author

Harsh Kumar Sharma Internship: NRSC, ISRO GitHub: https://github.com/Harsh-2531

About

crop phenology monitoring using multi-satellite Remote Sensing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages