GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
r.covar(1) GRASS GIS User's Manual r.covar(1)

r.covar - Outputs a covariance/correlation matrix for user-specified raster map layer(s).

raster, statistics

r.covar
r.covar --help
r.covar [-r] map=name[,name,...] [--help] [--verbose] [--quiet] [--ui]

-r

Print correlation matrix
--help

Print usage summary
--verbose

Verbose module output
--quiet

Quiet module output
--ui

Force launching GUI dialog

map=name[,name,...] [required]

Name of raster map(s)

r.covar outputs a covariance/correlation matrix for user-specified raster map layer(s). The output can be printed, or saved by redirecting 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.

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 matrix would result in N real eigen values and N eigen vectors (each composed of N real numbers).

The module m.eigensystem in GRASS GIS Addons can be compiled and used to generate the eigen values and vectors.

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.mapcalc 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 values 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.

i.pca, m.eigensystem (Addon), r.mapcalc, r.rescale

Michael Shapiro, U.S. Army Construction Engineering Research Laboratory

Available at: r.covar source code (history)

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2021 GRASS Development Team, GRASS GIS 7.8.6 Reference Manual

GRASS 7.8.6

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.