Vegetation & Water Stress Mapping
Mapping vegetation condition and water stress across farmland in India using Sentinel-2 and Landsat NDVI and NDWI for agricultural and environmental monitoring.

Overview
This project maps vegetation condition and water stress across agricultural land in India using two spectral indices, NDVI and NDWI, derived from Sentinel-2 and Landsat imagery. The short answer to what it does: it turns free satellite data into clear, comparable maps that show where crops are healthy, where vegetation is thinning, and where moisture is running low, so the same workflow can support both farm-level decisions and wider environmental monitoring.
I built this as a researcher working on remote sensing for agriculture and water. The aim was practical. Field surveys cannot cover large areas every season, but satellites pass over the same ground again and again. By pairing a vegetation index with a moisture index, I could read crop vigour and water availability together rather than guessing one from the other.
What the project answers:
- Where is vegetation under stress within a study area?
- Which zones show low surface and canopy moisture?
- How do these patterns shift between seasons and across years?
Approach
My approach kept the data open and the method repeatable, because anything that depends on costly or one-off datasets is hard to scale across India.
I chose Sentinel-2 and Landsat as the two image sources. Sentinel-2 gives finer spatial detail and a quick revisit, which helps at the scale of individual fields. Landsat adds a long historical archive, so I could look back over years and place a single season in context. Using both also let me cross-check patterns instead of trusting one sensor alone.
For the indices, I used a simple and well-tested pair:
- NDVI (Normalized Difference Vegetation Index) for vegetation condition. Healthy, dense canopy reflects strongly in near-infrared and absorbs red light, so higher values point to vigorous growth and lower values to sparse or stressed vegetation.
- NDWI (Normalized Difference Water Index) for water and moisture content. It responds to water in the canopy and on the surface, which is what makes it useful as a stress signal alongside greenness.
The reasoning behind using both is that NDVI on its own can be misleading. A field can look green for a while even as moisture drops, and bare or harvested land can read low for reasons that have nothing to do with stress. Reading NDVI and NDWI together gives a fuller picture of where vegetation is genuinely struggling and where it is simply between crop cycles.
I treated this as a monitoring workflow, not a one-time map. The same processing chain can be re-run for any new acquisition, so the method holds up across seasons and study sites.
Methods
The work followed a clear remote sensing pipeline that other analysts in India can reproduce.
Data and pre-processing
- Selected cloud-low Sentinel-2 and Landsat scenes over the study area for the target seasons.
- Used surface reflectance products and applied cloud and shadow masking so that haze and cloud edges did not contaminate index values.
- Kept consistent spatial reference and clipped scenes to the area of interest for tidy comparison.
Index computation
- Computed NDVI from the red and near-infrared bands.
- Computed NDWI from the near-infrared and shorter-wave bands suited to moisture sensing.
- Generated index rasters for each date so that change over time could be tracked.
I ran the band maths and time-series handling in a scripted environment, using Google Earth Engine and Python for batch processing across many scenes and QGIS for inspection, styling, and final map layout. Scripting matters here. It removes manual error, documents every step, and means the analysis can be repeated for a new district without redoing the work by hand.
Classification and interpretation
- Grouped NDVI and NDWI into condition classes, from healthy to stressed, so the maps read clearly for non-specialists.
- Overlaid the two indices to flag zones where low greenness and low moisture occur together, which are the strongest candidates for water stress.
- Compared dates and, where Landsat history allowed, multiple years to separate normal seasonal change from genuine decline.
A point I am careful about: indices are indicators, not ground truth. Wherever possible, results should be read against field knowledge and local conditions before any firm conclusion is drawn. I keep the quantitative claims qualitative unless I have field data to back a specific number.
Outcome
The project produced a working, repeatable mapping workflow rather than a single static output, and that was the real goal.
Key outcomes:
- Clear vegetation-condition and water-stress maps for the study area, built entirely from open Sentinel-2 and Landsat data.
- A combined NDVI and NDWI reading that distinguishes truly stressed vegetation from land that is merely sparse or between crops.
- A scripted pipeline that can be re-run for new dates, seasons, or study sites with little extra effort.
The practical value is in monitoring. For agriculture, the maps point to where crops may need attention and where moisture is short. For environmental work, the same outputs help track how vegetation and water conditions shift over time across a landscape. Because the method leans on free imagery and open tools like QGIS and Google Earth Engine, it travels well to other parts of India, from Punjab farmland to drier study areas, without a heavy budget.
For me, the project reinforced a habit I carry into all my remote sensing work: choose simple, well-understood indices, document the processing so it can be repeated, and read the satellite signal alongside real ground knowledge before calling anything stressed.

