GRASS logo

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.


r.cross - Creates a cross product of the category values from multiple raster map layers.


raster, statistics


r.cross --help
r.cross [-z] input=string[,string,...] output=name [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Non-NULL data only
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=string[,string,...] [required]
Names of 2-30 input raster maps
output=name [required]
Name for output raster map

Table of contents


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 NULL values are not crossed. This means that if a NULL value occurs in any input data layer, this combination is ignored, even if other data layers contain non-NULL data. In the example given below, 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 some values are NULL will be assigned a unique category value in the resulting output map.

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
          NULL    1
          NULL    2
           1      1
           1      2
           2      4
r.cross would produce a new raster map layer with 5 categories:
          map1   map2   output
          NULL    1       0
          NULL    2       1
           1      1       2
           1      2       3
           2      4       4
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
             0       layer1(0) layer2(1)
             1       layer1(0) layer2(2)
             2       layer1(1) layer2(1)
             3       layer1(1) layer2(2)
             4       layer1(2) layer2(4)
A random color table is also generated for the output map layer.


r.covar, r.stats


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


Available at: r.cross source code (history)

Latest change: Thursday Feb 03 11:10:06 2022 in commit: 547ff44e6aecfb4c9cbf6a4717fc14e521bec0be

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.

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

© 2003-2023 GRASS Development Team, GRASS GIS 8.2.2dev Reference Manual