Vegetation

SAVI: Reading Vegetation When the Soil Keeps Showing Through

Concept article · Updated · by Dr. Anant Kumar Pathak

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

SAVI = ((NIR − Red) / (NIR + Red + L)) × (1 + L) (L = 0.5)

where NIR is near-infrared reflectance, Red is red reflectance.

What the numbers mean

Typical range: −1 to +1

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.

Advertisement

Band configuration

Sentinel-2NIR B8 · Red B4
Landsat 8/9NIR 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 soil-brightness factor L must match canopy density — a fixed 0.5 is a compromise that is suboptimal at the sparse and dense extremes.

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.

Primary reference: Huete, A.R. (1988). A soil-adjusted vegetation index (SAVI). Remote Sensing of Environment 25(3), 295–309.