The Triangular Vegetation Index (TVI) was developed by Broge and Hansen (2000) based on the triangular area formed by green peak, near-infrared shoulder, and chlorophyll absorption minimum. TVI is sensitive to both chlorophyll content and LAI, capturing radiative energy absorbed by pigments and providing improved retrieval accuracy with reduced saturation effects.

Used in crop monitoring, and forest monitoring.

When to use

  • Time-series monitoring of crop health, growth stages, and stress detection
  • Land cover classification and vegetation type discrimination
  • Biomass estimation and net primary productivity studies
  • Drought impact assessment over agricultural and forest areas
  • Phenology tracking — green-up, peak season, and senescence
  • leaf area index estimation
  • chlorophyll content assessment

Limitations

  • Saturates in dense canopies (LAI > 3) — values plateau and lose discrimination ability
  • Sensitive to atmospheric scattering, especially blue-band haze
  • Soil background contaminates measurements in sparsely vegetated areas
  • Sun-sensor geometry (BRDF effects) introduces variability across acquisitions
  • Cloud cover and shadows produce invalid pixels that need masking

What the values mean

-1 Water / Snow
-0.1 Bare ground / Built-up
0.1 Sparse / Stressed
0.3 Moderate vegetation
0.5 Healthy vegetation
0.7 Dense canopy
Surface typeTypical TVI
Open water, snow-0.3 to -0.1
Bare soil, urban-0.1 to 0.2
Sparse or stressed crops0.2 to 0.4
Healthy crops, grassland0.4 to 0.7
Dense forest, peak season0.7 to 0.9

General Formula

550 550
670 670
750 750

Sensor-Specific Formulas

Most-used sensors — click to show code below

SensorProviderFormulaBand Mapping
Wyvern0.5 * (120 * (Band 20 - Band 5) - 200 * (Band 13 - Band 5))550→Band 5, 670→Band 13, 750→Band 20
ESA0.5 * (120 * (B6 - B3) - 200 * (B4 - B3))550→B3, 670→B4, 750→B6
MAXAR0.5 * (120 * (Red Edge - Green) - 200 * (Red - Green))550→Green, 670→Red, 750→Red Edge
MAXAR0.5 * (120 * (Red_Edge - Green) - 200 * (Red - Green))550→Green, 670→Red, 750→Red_Edge

Spectral Band Visualization — Dragonette-1

Code Examples

Adapted for Dragonette-1 bands —

tvi_broge_dragonette-001.py

Frequently Asked Questions

What is the TVI (Triangular Vegetation Index) and when should I use it?

The Triangular Vegetation Index (TVI) was developed by Broge and Hansen (2000) based on the triangular area formed by green peak, near-infrared shoulder, and chlorophyll absorption minimum. TVI is sensitive to both chlorophyll content and LAI, capturing radiative energy absorbed by pigments and providing improved retrieval accuracy with reduced saturation effects. Vegetation indices quantify plant health, biomass, and photosynthetic activity by exploiting the contrast between how plants absorb visible light for photosynthesis and reflect near-infrared radiation from their cellular structure. TVI is particularly suited for leaf area index estimation, chlorophyll content assessment, vegetation biomass monitoring. The general formula is 0.5 * (120 * (750nm - 550nm) - 200 * (670nm - 550nm)), which requires 550 and 670 and 750 spectral bands.

Which satellite sensors can I use to calculate TVI?

TVI is supported by 8 satellite sensors in our database, including Dragonette-1, Dragonette-2/3, GeoEye-1, Sentinel-2, WorldView 2 and 3 more. Each sensor uses different band designations — for example, Dragonette-1 uses the formula 0.5 * (120 * (Band 20 - Band 5) - 200 * (Band 13 - Band 5)), while Dragonette-2/3 uses 0.5 * (120 * (Band24 - Band9) - 200 * (Band17 - Band9)). Select a sensor above to see its specific band mapping.

What spectral bands does TVI require and why?

TVI requires 550 (550), 670 (670), 750 (750). Vegetation strongly absorbs red light for photosynthesis while reflecting near-infrared light from its mesophyll cell structure, making this contrast a reliable indicator of plant vigour.

How do I calculate TVI in Python or R?

Both Python and R code samples are provided above. In Python, use rasterio to load individual band GeoTIFF files and numpy for the arithmetic. In R, the terra package handles raster operations efficiently. The key is to load bands as floating-point arrays to avoid integer division, and to handle division-by-zero cases where the denominator equals zero. For production use, consider applying a valid data mask to exclude no-data pixels before calculation.

How does TVI compare to NDVI and other vegetation indices?

While NDVI is the most common vegetation index, TVI provides complementary information that NDVI cannot capture on its own. The choice of index depends on your application, sensor availability, and atmospheric conditions.

TVI vs other vegetation indices

IndexNameHow it differs
ARIAnthocyanin Reflectance IndexAlternative vegetation index — different band combination
mARIModified Anthocyanin Reflectance IndexRefined formulation for specific conditions
ARVIAtmospherically Resistant Vegetation IndexAtmospherically corrected version
ARVI2Atmospherically Resistant Vegetation Index 2Atmospherically corrected version

Related Vegetation Indices

References

Broge, N.H. and Leblanc, E. (2000) - Comparing prediction power and stability of broadband and hyperspectral vegetation indices for estimation of green leaf area index and canopy chlorophyll density. Remote Sensing of Environment, 76(2), 156-172

Need help choosing?

Ask our AI assistant for sensor recommendations, code examples, or how TVI compares to other indices for your specific use case.

Ask AI →