NAME

r.cross - Creates a cross product of the category values from multiple raster map layers.
(GRASS Raster Program)

SYNOPSIS

r.cross
r.cross help
r.cross [-qz] input=name,name[,name,...] output=name

DESCRIPTION

r.cross creates an output raster map layer representing all unique combinations of category values in the raster input layers (input=name,name,name, ...). At least two, but not more than ten, input map layers must be specified. The user must also specify a name to be assigned to the output raster map layer created by r.cross.

OPTIONS

The program will be run non-interactively if the user specifies the names of between 2-10 raster map layers be used as input, and the name of a raster map layer to hold program output, using the form:
r.cross [-qz] input=name,name[,name,...] output=name
where each input name specifies the name of a raster map layer to be used in calculating the cross product, the output name specifies the name of a raster map layer to hold program output, and the options -q and -z respectively specify that the program is to run quietly and exclude zero data values.

Alternately, the user can simply type r.cross on the command line, without program arguments. In this case, the user will be prompted for needed input and output map names and flag settings using the standard GRASS parser interface.

Flags:

-q
Run quietly. Supresses output of program percent-complete messages. If this flag is not used, these messages are printed out.
-z
Do not cross zero data values. This means that if a zero category value occurs in any input data layer, the combination is assigned to category zero in the resulting map layer, even if other data layers contain non-zero data. In the example given above, use of the -z option would cause 3 categories to be generated instead of 5.

If the -z flag is not specified, then map layer combinations in which not all category values are zero will be assigned a unique category value in the resulting map layer.

Parameters:

input=name,name[,name,...]
The names of between two and ten existing raster map layers to be used as input. Category values in the new output map layer will be the cross-product of the category values from these existing input map layers.
output=name
The name assigned to the new raster map layer created by r.cross, containing program output.

EXAMPLE

For example, suppose that, using two raster map layers, the following combinations occur:
          map1   map2
          ___________
           0      1
           0      2
           1      1
           1      2
           2      4
r.cross would produce a new raster map layer with 5 categories:
          map1   map2   output
          ____________________
           0      1       1
           0      2       2
           1      1       3
           1      2       4
           2      4       5
Note: The actual category value assigned to a particular combination in the result map layer is dependent on the order in which the combinations occur in the input map layer data and can be considered essentially random. The example given here is illustrative only.

SUPPORT FILES

The category file created for the output raster map layer describes the combinations of input map layer category values which generated each category. In the above example, the category labels would be:
          category   category
          value      label
          ______________________________
             1       layer1(0) layer2(1)
             2       layer1(0) layer2(2)
             3       layer1(1) layer2(1)
             4       layer1(1) layer2(2)
             5       layer1(2) layer2(4)
A random color table is also generated for the output map layer.

NOTES

When run non-interactively, r.cross will not protect existing files in the user's mapset. If the user specifies an output file name that already exists in his mapset, the existing file will be overwritten by the new r.cross output.

SEE ALSO

r.covar
r.stats
parser

AUTHOR

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