SAVI: Reading Vegetation When the Soil Keeps Showing Through
Over a full canopy, the soil is irrelevant. Over a seedling field or a semi-arid rangeland, the dirt between the plants dominates the pixel — and that is exactly where NDVI misleads you. SAVI adds a single correction term to keep sparse vegetation honest.
The idea behind it
SAVI inserts a soil-brightness constant, L, into the NDVI denominator and multiplies by (1+L) to rescale. L runs from 0 (dense canopy, effectively NDVI) to 1 (very sparse cover); the conventional 0.5 is a middle-ground value for intermediate vegetation. The effect is to pull apart soil and vegetation signals that NDVI would otherwise smear together.
How it is calculated
where NIR is near-infrared reflectance, Red is red reflectance.
What the numbers mean
Read like NDVI but damped where soil shows through. L = 0.5 suits intermediate cover; L → 0 approaches NDVI (dense), L → 1 for very sparse cover.
Band configuration
| Sentinel-2 | NIR B8 · Red B4 |
| Landsat 8/9 | NIR B5 · Red B4 |
Where it is used
SAVI earns its keep in drylands, early-season agriculture and post-disturbance monitoring — anywhere green cover is patchy over exposed ground. Rangeland-condition assessment and desertification studies lean on it heavily.
Limitations to know
The catch is that L should really match your canopy density, and a single scene often contains both bare and dense areas. If you would rather not choose L at all, MSAVI2 self-calibrates it for you.
Compute SAVI on your own study area
Skip the code. Draw or upload a boundary and Spatial Research Suite runs SAVI on live Sentinel-2 or Landsat imagery — with cloud masking, exports and citations built in.
Run this analysis in GISforus →Frequently asked
What value of L should I use in SAVI?
L = 0.5 is the standard compromise for intermediate cover; use closer to 0 for dense canopy and closer to 1 for very sparse vegetation.
How is SAVI different from NDVI?
SAVI adds a soil-brightness term so that exposed background does not distort the reading where vegetation is sparse — NDVI has no such correction.