GRASS logo


i.cva - Performs Change Vector Analysis (CVA) in two dimensions.




i.cva --help
i.cva xaraster=name xbraster=name yaraster=name ybraster=name output=basename [custom_threshold=float] [stat_threshold=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


xaraster=name [required]
Name of the first raster for X axis
xbraster=name [required]
Name of the the second raster for X axis
yaraster=name [required]
Name of the first raster for Y axis
ybraster=name [required]
Name of the second raster for Y axis
output=basename [required]
Name for output basename raster maps (angle and magnitude)
Name for output basename raster map(s)
Use a custom threshold
Use a statystical parameter for the threshold (mean + N * standard deviation)

Table of contents


i.cva calculates Change Vector Analysis (CVA) for two input variables. CVA is a remote sensing technique used for change detection analysis. As input for CVA, two maps for each date must be given: in general, on X axis an indicator of overall reflectance and on Y axis an indicator of vegetation conditions. A common choice for the indicators is Albedo and NDVI (Normalized Difference Vegetation Index) or the Brightness and Greenness features features of the Tasselled Cap (TC) transform.
For each pixel of the original image, CVA gives in output a map of the angle and a map of the magnitude of the vector of the change between two dates.
Read Malila et al. for a complete explanation of the technique. This module might require a first transformation of the data to Top Of Atmosphere Reflectance (TOAR); if the TC transform are chosen as indicators, the TC transform should be then performed as well before running CVA.

Four parameters are required in input:

The following maps can be generated in output:

The change detection map is created using the classified angle map and applying a threshold to the magnitude: the change is given by the pixels that have values higher than the threshold, divided in four categories depending on the quadrant they belong to.
The threshold can be chosen manually (custom value, given by personal criteria) or using statistical criteria. In this case the mean of the magnitude values is used and the user can choose the multiples of N standard deviation to sum to the mean (threshold = mean + N * standard deviation).
One could consider of running the module at first without assigning a threshold, in order to have an idea of the range of the magnitude and to choose an appropriate custom threshold (for univariate statystical parameters run r.univar). In this case i.cva gives in output only three maps: the angle, angle classified and magnitude maps.


Calculation of CVA maps from North Carolina Landsat 7 ETM scene, between lsat5_1987 and lsat7_2002.
The Tasselled cap maps are calculated for TOAR data.
i.cva xaraster=lsat5_1987_tasscap.1 xbraster=lsat7_2002_tasscap.1 \
yaraster=lsat5_1987_tasscap.2 ybraster=lsat7_2002_tasscap.2 \
output=CVA_87_02 stat_threshold=1

Calculating DeltaX and DeltaY
Writing angle map CVA_87_02_angle
Writing magnitude map CVA_87_02_magnitude
Mean of magnitude values is: 0.091335330260002
Standard deviation of magnitude values is: 0.0671211630131731
Writing change detection map CVA_87_02_change
Threshold is 0.158456493273

 Angle map
CVA angle map 1
 Classified angle
CVA classified angle map
 Magnitude map
CVA magnitude map
CVA change map



i.albedo,, i.aster.toar, i.landsat.toar, r.univar


Anna Zanchetta

Last changed: $Date: 2016-12-11 23:00:00 +0200 (Sun, 11 Dec 2016) $


Available at: i.cva source code (history)

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2017 GRASS Development Team, GRASS GIS 7.2.3svn Reference Manual