1i.vi(1) GRASS GIS User's Manual i.vi(1)
2
3
4
6 i.vi - Calculates different types of vegetation indices.
7 Uses red and nir bands mostly, and some indices require additional
8 bands.
9
11 imagery, vegetation index, biophysical parameters, NDVI
12
14 i.vi
15 i.vi --help
16 i.vi output=name viname=type [red=name] [nir=name] [green=name]
17 [blue=name] [band5=name] [band7=name] [soil_line_slope=float]
18 [soil_line_intercept=float] [soil_noise_reduction=float] [stor‐
19 age_bit=integer] [--overwrite] [--help] [--verbose] [--quiet]
20 [--ui]
21
22 Flags:
23 --overwrite
24 Allow output files to overwrite existing files
25
26 --help
27 Print usage summary
28
29 --verbose
30 Verbose module output
31
32 --quiet
33 Quiet module output
34
35 --ui
36 Force launching GUI dialog
37
38 Parameters:
39 output=name [required]
40 Name for output raster map
41
42 viname=type [required]
43 Type of vegetation index
44 Options: arvi, dvi, evi, evi2, gvi, gari, gemi, ipvi, msavi,
45 msavi2, ndvi, ndwi, pvi, savi, sr, vari, wdvi
46 Default: ndvi
47 arvi: Atmospherically Resistant Vegetation Index
48 dvi: Difference Vegetation Index
49 evi: Enhanced Vegetation Index
50 evi2: Enhanced Vegetation Index 2
51 gvi: Green Vegetation Index
52 gari: Green Atmospherically Resistant Vegetation Index
53 gemi: Global Environmental Monitoring Index
54 ipvi: Infrared Percentage Vegetation Index
55 msavi: Modified Soil Adjusted Vegetation Index
56 msavi2: second Modified Soil Adjusted Vegetation Index
57 ndvi: Normalized Difference Vegetation Index
58 ndwi: Normalized Difference Water Index
59 pvi: Perpendicular Vegetation Index
60 savi: Soil Adjusted Vegetation Index
61 sr: Simple Ratio
62 vari: Visible Atmospherically Resistant Index
63 wdvi: Weighted Difference Vegetation Index
64
65 red=name
66 Name of input red channel surface reflectance map
67 Range: [0.0;1.0]
68
69 nir=name
70 Name of input nir channel surface reflectance map
71 Range: [0.0;1.0]
72
73 green=name
74 Name of input green channel surface reflectance map
75 Range: [0.0;1.0]
76
77 blue=name
78 Name of input blue channel surface reflectance map
79 Range: [0.0;1.0]
80
81 band5=name
82 Name of input 5th channel surface reflectance map
83 Range: [0.0;1.0]
84
85 band7=name
86 Name of input 7th channel surface reflectance map
87 Range: [0.0;1.0]
88
89 soil_line_slope=float
90 Value of the slope of the soil line (MSAVI only)
91
92 soil_line_intercept=float
93 Value of the intercept of the soil line (MSAVI only)
94
95 soil_noise_reduction=float
96 Value of the factor of reduction of soil noise (MSAVI only)
97
98 storage_bit=integer
99 Maximum bits for digital numbers
100 If data is in Digital Numbers (i.e. integer type), give the max
101 bits (i.e. 8 for Landsat -> [0-255])
102 Options: 7, 8, 10, 16
103 Default: 8
104
106 i.vi calculates vegetation indices based on biophysical parameters.
107
108 · ARVI: atmospherically resistant vegetation indices
109
110 · DVI: Difference Vegetation Index
111
112 · EVI: Enhanced Vegetation Index
113
114 · EVI2: Enhanced Vegetation Index 2
115
116 · GARI: Green atmospherically resistant vegetation index
117
118 · GEMI: Global Environmental Monitoring Index
119
120 · GVI: Green Vegetation Index
121
122 · IPVI: Infrared Percentage Vegetation Index
123
124 · MSAVI2: second Modified Soil Adjusted Vegetation Index
125
126 · MSAVI: Modified Soil Adjusted Vegetation Index
127
128 · NDVI: Normalized Difference Vegetation Index
129
130 · NDWI: Normalized Difference Water Index
131
132 · PVI: Perpendicular Vegetation Index
133
134 · RVI: ratio vegetation index
135
136 · SAVI: Soil Adjusted Vegetation Index
137
138 · SR: Simple Vegetation ratio
139
140 · WDVI: Weighted Difference Vegetation Index
141
142 Background for users new to remote sensing
143 Vegetation Indices are often considered the entry point of remote sens‐
144 ing for Earth land monitoring. They are suffering from their success,
145 in terms that often people tend to harvest satellite images from online
146 sources and use them directly in this module.
147
148 From Digital number to Radiance:
149 Satellite imagery is commonly stored in Digital Number (DN) for storage
150 purposes; e.g., Landsat5 data is stored in 8bit values (ranging from 0
151 to 255), other satellites maybe stored in 10 or 16 bits. If the data is
152 provided in DN, this implies that this imagery is "uncorrected". What
153 this means is that the image is what the satellite sees at its position
154 and altitude in space (stored in DN). This is not the signal at ground
155 yet. We call this data at-satellite or at-sensor. Encoded in the 8bits
156 (or more) is the amount of energy sensed by the sensor inside the
157 satellite platform. This energy is called radiance-at-sensor. Gener‐
158 ally, satellites image providers encode the radiance-at-sensor into
159 8bit (or more) through an affine transform equation (y=ax+b). In case
160 of using Landsat imagery, look at the i.landsat.toar for an easy way to
161 transform DN to radiance-at-sensor. If using Aster data, try the
162 i.aster.toar module.
163
164 From Radiance to Reflectance:
165 Finally, once having obtained the radiance at sensor values, still the
166 atmosphere is between sensor and Earth’s surface. This fact needs to be
167 corrected to account for the atmospheric interaction with the sun
168 energy that the vegetation reflects back into space. This can be done
169 in two ways for Landsat. The simple way is through i.landsat.toar, use
170 e.g. the DOS correction. The more accurate way is by using i.atcorr
171 (which works for many satellite sensors). Once the atmospheric correc‐
172 tion has been applied to the satellite data, data vales are called sur‐
173 face reflectance. Surface reflectance is ranging from 0.0 to 1.0 theo‐
174 retically (and absolutely). This level of data correction is the proper
175 level of correction to use with i.vi.
176
177 Vegetation Indices
178 ARVI: Atmospheric Resistant Vegetation Index
179
180 ARVI is resistant to atmospheric effects (in comparison to the NDVI)
181 and is accomplished by a self correcting process for the atmospheric
182 effect in the red channel, using the difference in the radiance between
183 the blue and the red channels (Kaufman and Tanre 1996).
184 arvi( redchan, nirchan, bluechan )
185 ARVI = (nirchan - (2.0*redchan - bluechan)) /
186 ( nirchan + (2.0*redchan - bluechan))
187
188 DVI: Difference Vegetation Index
189 dvi( redchan, nirchan )
190 DVI = ( nirchan - redchan )
191
192 EVI: Enhanced Vegetation Index
193
194 The enhanced vegetation index (EVI) is an optimized index designed to
195 enhance the vegetation signal with improved sensitivity in high biomass
196 regions and improved vegetation monitoring through a de-coupling of the
197 canopy background signal and a reduction in atmosphere influences
198 (Huete A.R., Liu H.Q., Batchily K., van Leeuwen W. (1997). A comparison
199 of vegetation indices global set of TM images for EOS-MODIS. Remote
200 Sensing of Environment, 59:440-451).
201 evi( bluechan, redchan, nirchan )
202 EVI = 2.5 * ( nirchan - redchan ) /
203 ( nirchan + 6.0 * redchan - 7.5 * bluechan + 1.0 )
204
205 EVI2: Enhanced Vegetation Index 2
206
207 A 2-band EVI (EVI2), without a blue band, which has the best similarity
208 with the 3-band EVI, particularly when atmospheric effects are
209 insignificant and data quality is good (Zhangyan Jiang ; Alfredo R.
210 Huete ; Youngwook Kim and Kamel Didan 2-band enhanced vegetation index
211 without a blue band and its application to AVHRR data. Proc. SPIE 6679,
212 Remote Sensing and Modeling of Ecosystems for Sustainability IV, 667905
213 (october 09, 2007) doi:10.1117/12.734933).
214 evi2( redchan, nirchan )
215 EVI2 = 2.5 * ( nirchan - redchan ) /
216 ( nirchan + 2.4 * redchan + 1.0 )
217
218 GARI: green atmospherically resistant vegetation index
219
220 The formula was actually defined: Gitelson, Anatoly A.; Kaufman, Yoram
221 J.; Merzlyak, Mark N. (1996) Use of a green channel in remote sensing
222 of global vegetation from EOS- MODIS, Remote Sensing of Environment 58
223 (3), 289-298. doi:10.1016/s0034-4257(96)00072-7
224 gari( redchan, nirchan, bluechan, greenchan )
225 GARI = ( nirchan - (greenchan - (bluechan - redchan))) /
226 ( nirchan + (greenchan - (bluechan - redchan)))
227
228 GEMI: Global Environmental Monitoring Index
229 gemi( redchan, nirchan )
230 GEMI = (( (2*((nirchan * nirchan)-(redchan * redchan)) +
231 1.5*nirchan+0.5*redchan) / (nirchan + redchan + 0.5)) *
232 (1 - 0.25 * (2*((nirchan * nirchan)-(redchan * redchan)) +
233 1.5*nirchan+0.5*redchan) / (nirchan + redchan + 0.5))) -
234 ( (redchan - 0.125) / (1 - redchan))
235
236 GVI: Green Vegetation Index
237 gvi( bluechan, greenchan, redchan, nirchan, chan5chan, chan7chan)
238 GVI = ( -0.2848 * bluechan - 0.2435 * greenchan -
239 0.5436 * redchan + 0.7243 * nirchan + 0.0840 * chan5chan-
240 0.1800 * chan7chan)
241
242 IPVI: Infrared Percentage Vegetation Index
243 ipvi( redchan, nirchan )
244 IPVI = nirchan/(nirchan+redchan)
245
246 MSAVI2: second Modified Soil Adjusted Vegetation Index
247 msavi2( redchan, nirchan )
248 MSAVI2 = (1/2)*(2*NIR+1-sqrt((2*NIR+1)^2-8*(NIR-red)))
249
250 MSAVI: Modified Soil Adjusted Vegetation Index
251 msavi( redchan, nirchan )
252 MSAVI = s(NIR-s*red-a) / (a*NIR+red-a*s+X*(1+s*s))
253 where a is the soil line intercept, s is the soil line slope, and X
254 is an adjustment factor which is set to minimize soil noise (0.08 in
255 original papers).
256
257 NDVI: Normalized Difference Vegetation Index
258 ndvi( redchan, nirchan )
259 Satellite specific band numbers ([NIR, Red]):
260 MSS Bands = [ 7, 5]
261 TM1-5,7 Bands = [ 4, 3]
262 TM8 Bands = [ 5, 4]
263 Sentinel-2 Bands = [ 8, 4]
264 AVHRR Bands = [ 2, 1]
265 SPOT XS Bands = [ 3, 2]
266 AVIRIS Bands = [51, 29]
267 NDVI = (NIR - Red) / (NIR + Red)
268
269 NDWI: Normalized Difference Water Index (after McFeeters, 1996)
270
271 This index is suitable to detect water bodies.
272 ndwi( greenchan, nirchan )
273 NDWI = (green - NIR) / (green + NIR)
274
275 The water content of leaves can be estimated with another NDWI (after
276 Gao, 1996):
277 ndwi( greenchan, nirchan )
278 NDWI = (NIR - SWIR) / (NIR + SWIR)
279 This index is important for monitoring vegetation health (not imple‐
280 mented).
281
282 PVI: Perpendicular Vegetation Index
283 pvi( redchan, nirchan )
284 PVI = sin(a)NIR-cos(a)red
285 for a isovegetation lines (lines of equal vegetation) would all be par‐
286 allel to the soil line therefore a=1.
287
288 SAVI: Soil Adjusted Vegetation Index
289 savi( redchan, nirchan )
290 SAVI = ((1.0+0.5)*(nirchan - redchan)) / (nirchan + redchan +0.5)
291
292 SR: Simple Vegetation ratio
293 sr( redchan, nirchan )
294 SR = (nirchan/redchan)
295
296 VARI: Visible Atmospherically Resistant Index VARI was designed to
297 introduce an atmospheric self-correction (Gitelson A.A., Kaufman Y.J.,
298 Stark R., Rundquist D., 2002. Novel algorithms for estimation of vege‐
299 tation fraction Remote Sensing of Environment (80), pp76-87.)
300 vari = ( bluechan, greenchan, redchan )
301 VARI = (green - red ) / (green + red - blue)
302
303 WDVI: Weighted Difference Vegetation Index
304 wdvi( redchan, nirchan, soil_line_weight )
305 WDVI = nirchan - a * redchan
306 if(soil_weight_line == None):
307 a = 1.0 #slope of soil line
308
310 Calculation of DVI
311 The calculation of DVI from the reflectance values is done as follows:
312 g.region raster=band.1 -p
313 i.vi blue=band.1 red=band.3 nir=band.4 viname=dvi output=dvi
314 r.univar -e dvi
315
316 Calculation of EVI
317 The calculation of EVI from the reflectance values is done as follows:
318 g.region raster=band.1 -p
319 i.vi blue=band.1 red=band.3 nir=band.4 viname=evi output=evi
320 r.univar -e evi
321
322 Calculation of EVI2
323 The calculation of EVI2 from the reflectance values is done as follows:
324 g.region raster=band.3 -p
325 i.vi red=band.3 nir=band.4 viname=evi2 output=evi2
326 r.univar -e evi2
327
328 Calculation of GARI
329 The calculation of GARI from the reflectance values is done as follows:
330 g.region raster=band.1 -p
331 i.vi blue=band.1 green=band.2 red=band.3 nir=band.4 viname=gari output=gari
332 r.univar -e gari
333
334 Calculation of GEMI
335 The calculation of GEMI from the reflectance values is done as follows:
336 g.region raster=band.3 -p
337 i.vi red=band.3 nir=band.4 viname=gemi output=gemi
338 r.univar -e gemi
339
340 Calculation of GVI
341 The calculation of GVI (Green Vegetation Index - Tasseled Cap) from the
342 reflectance values is done as follows:
343 g.region raster=band.3 -p
344 # assuming Landsat-7
345 i.vi blue=band.1 green=band.2 red=band.3 nir=band.4 band5=band.5 band7=band.7 viname=gvi output=gvi
346 r.univar -e gvi
347
348 Calculation of IPVI
349 The calculation of IPVI from the reflectance values is done as follows:
350 g.region raster=band.3 -p
351 i.vi red=band.3 nir=band.4 viname=ipvi output=ipvi
352 r.univar -e ipvi
353
354 Calculation of MSAVI
355 The calculation of MSAVI from the reflectance values is done as fol‐
356 lows:
357 g.region raster=band.3 -p
358 i.vi red=band.3 nir=band.4 viname=msavi output=msavi
359 r.univar -e msavi
360
361 Calculation of NDVI
362 The calculation of NDVI from the reflectance values is done as follows:
363 g.region raster=band.3 -p
364 i.vi red=band.3 nir=band.4 viname=ndvi output=ndvi
365 r.univar -e ndvi
366
367 Calculation of NDWI
368 The calculation of NDWI from the reflectance values is done as follows:
369 g.region raster=band.2 -p
370 i.vi green=band.2 nir=band.4 viname=ndwi output=ndwi
371 r.colors ndwi color=byg -n
372 r.univar -e ndwi
373
374 Calculation of PVI
375 The calculation of PVI from the reflectance values is done as follows:
376 g.region raster=band.3 -p
377 i.vi red=band.3 nir=band.4 viname=pvi output=pvi
378 r.univar -e pvi
379
380 Calculation of SAVI
381 The calculation of SAVI from the reflectance values is done as follows:
382 g.region raster=band.3 -p
383 i.vi red=band.3 nir=band.4 viname=savi output=savi
384 r.univar -e savi
385
386 Calculation of SR
387 The calculation of SR from the reflectance values is done as follows:
388 g.region raster=band.3 -p
389 i.vi red=band.3 nir=band.4 viname=sr output=sr
390 r.univar -e sr
391
392 Calculation of VARI
393 The calculation of VARI from the reflectance values is done as follows:
394 g.region raster=band.3 -p
395 i.vi blue=band.2 green=band.3 red=band.4 viname=vari output=vari
396 r.univar -e vari
397
398 Landsat TM7 example
399 The following examples are based on a LANDSAT TM7 scene included in the
400 North Carolina sample dataset.
401
402 Preparation: DN to reflectance
403 As a first step, the original DN (digital number) pixel values must be
404 converted to reflectance using i.landsat.toar. To do so, we make a copy
405 (or rename the channels) to match i.landsat.toar’s input scheme:
406
407 g.copy raster=lsat7_2002_10,lsat7_2002.1
408 g.copy raster=lsat7_2002_20,lsat7_2002.2
409 g.copy raster=lsat7_2002_30,lsat7_2002.3
410 g.copy raster=lsat7_2002_40,lsat7_2002.4
411 g.copy raster=lsat7_2002_50,lsat7_2002.5
412 g.copy raster=lsat7_2002_61,lsat7_2002.61
413 g.copy raster=lsat7_2002_62,lsat7_2002.62
414 g.copy raster=lsat7_2002_70,lsat7_2002.7
415 g.copy raster=lsat7_2002_80,lsat7_2002.8
416
417 Calculation of reflectance values from DN using DOS1 (metadata obtained
418 from p016r035_7x20020524.met.gz):
419
420 i.landsat.toar input=lsat7_2002. output=lsat7_2002_toar. sensor=tm7 \
421 method=dos1 date=2002-05-24 sun_elevation=64.7730999 \
422 product_date=2004-02-12 gain=HHHLHLHHL
423 The resulting Landsat channels are names lsat7_2002_toar.1 ..
424 lsat7_2002_toar.8.
425
426 Calculation of NDVI
427 The calculation of NDVI from the reflectance values is done as follows:
428 g.region raster=lsat7_2002_toar.3 -p
429 i.vi red=lsat7_2002_toar.3 nir=lsat7_2002_toar.4 viname=ndvi \
430 output=lsat7_2002.ndvi
431 r.colors lsat7_2002.ndvi color=ndvi
432 d.mon wx0
433 d.rast.leg lsat7_2002.ndvi
434 North Carolina dataset: NDVI
435
436 Calculation of ARVI
437 The calculation of ARVI from the reflectance values is done as follows:
438 g.region raster=lsat7_2002_toar.3 -p
439 i.vi blue=lsat7_2002_toar.1 red=lsat7_2002_toar.3 nir=lsat7_2002_toar.4 \
440 viname=arvi output=lsat7_2002.arvi
441 d.mon wx0
442 d.rast.leg lsat7_2002.arvi
443 North Carolina dataset: ARVI
444
445 Calculation of GARI
446 The calculation of GARI from the reflectance values is done as follows:
447 g.region raster=lsat7_2002_toar.3 -p
448 i.vi blue=lsat7_2002_toar.1 green=lsat7_2002_toar.2 red=lsat7_2002_toar.3 \
449 nir=lsat7_2002_toar.4 viname=gari output=lsat7_2002.gari
450 d.mon wx0
451 d.rast.leg lsat7_2002.gari
452 North Carolina dataset: GARI
453
455 Originally from kepler.gps.caltech.edu (FAQ):
456
457 A FAQ on Vegetation in Remote Sensing
458 Written by Terrill W. Ray, Div. of Geological and Planetary Sciences,
459 California Institute of Technology, email: terrill@mars1.gps.cal‐
460 tech.edu
461
462 Snail Mail: Terrill Ray
463 Division of Geological and Planetary Sciences
464 Caltech, Mail Code 170-25
465 Pasadena, CA 91125
466
468 i.albedo, i.aster.toar, i.landsat.toar, i.atcorr, i.tasscap
469
471 AVHRR, Landsat TM5:
472
473 · Bastiaanssen, W.G.M., 1995. Regionalization of surface flux
474 densities and moisture indicators in composite terrain; a
475 remote sensing approach under clear skies in mediterranean cli‐
476 mates. PhD thesis, Wageningen Agricultural Univ., The Nether‐
477 land, 271 pp. (PDF)
478
479 · Index DataBase: List of available Indices
480
482 Baburao Kamble, Asian Institute of Technology, Thailand
483 Yann Chemin, Asian Institute of Technology, Thailand
484
486 Available at: i.vi source code (history)
487
488 Main index | Imagery index | Topics index | Keywords index | Graphical
489 index | Full index
490
491 © 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual
492
493
494
495GRASS 7.8.5 i.vi(1)