r.covar(1grass) GRASS GIS User's Manual r.covar(1grass)
NAME
r.covar - Outputs a covariance/correlation matrix for user-specified
raster map layer(s).
KEYWORDS
raster, statistics
SYNOPSIS
r.covar
r.covar --help
r.covar [-r] map=name[,name,...] [--help] [--verbose] [--quiet]
[--ui]
Flags:
-r
Print correlation matrix
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
map=name[,name,...] [required]
Name of raster map(s)
DESCRIPTION
r.covar outputs a covariance/correlation matrix for user-specified
raster map layer(s). The output can be printed, or saved by redirect-
ing output into a file.
The output is an N x N symmetric covariance (correlation) matrix, where
N is the number of raster map layers specified on the command line.
NOTES
This module can be used as the first step of a principle components
transformation. The covariance matrix would be input into a system
which determines eigen values and eigen vectors. An NxN covariance ma-
trix would result in N real eigen values and N eigen vectors (each com-
posed of N real numbers).
The module m.eigensystem in GRASS GIS Addons can be compiled and used
to generate the eigen values and vectors.
EXAMPLE
For example,
g.region raster=layer.1 -p
r.covar -r map=layer.1,layer.2,layer.3
would produce a 3x3 matrix (values are example only):
1.000000 0.914922 0.889581
0.914922 1.000000 0.939452
0.889581 0.939452 1.000000
In the above example, the eigen values and corresponding eigen vectors
for the covariance matrix are:
component eigen value eigen vector
1 1159.745202 <0.691002 0.720528 0.480511>
2 5.970541 <0.711939 -0.635820 -0.070394>
3 146.503197 <0.226584 0.347470 -0.846873>
The component corresponding to each vector can be produced using r.map-
calc as follows:
r.mapcalc "pc.1 = 0.691002*layer.1 + 0.720528*layer.2 + 0.480511*layer.3"
r.mapcalc "pc.2 = 0.711939*layer.1 - 0.635820*layer.2 - 0.070394*layer.3"
r.mapcalc "pc.3 = 0.226584*layer.1 + 0.347470*layer.2 - 0.846873*layer.3"
Note that based on the relative sizes of the eigen values, pc.1 will
contain about 88% of the variance in the data set, pc.2 will contain
about 1% of the variance in the data set, and pc.3 will contain about
11% of the variance in the data set. Also, note that the range of val-
ues produced in pc.1, pc.2, and pc.3 will not (in general) be the same
as those for layer.1, layer.2, and layer.3. It may be necessary to
rescale pc.1, pc.2 and pc.3 to the desired range (e.g. 0-255). This
can be done with r.rescale.
SEE ALSO
i.pca, m.eigensystem (Addon), r.mapcalc, r.rescale
AUTHOR
Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
SOURCE CODE
Available at: r.covar source code (history)
Accessed: unknown
Main index | Raster index | Topics index | Keywords index | Graphical
index | Full index
© 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual
GRASS 7.8.7 r.covar(1grass)
Generated by dwww version 1.14 on Sat Jun 13 11:25:08 CEST 2026.