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.


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.

With the -z flag zero data values are not crossed. 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.

Category values in the new output map layer will be the cross-product of the category values from these existing input map layers.


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.


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.


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.


r.covar, r.stats


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

Last changed: $Date$