GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here


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-zero 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 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.


r.covar, r.stats


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

Last changed: $Date: 2016-01-28 03:27:18 -0800 (Thu, 28 Jan 2016) $


Available at: r.cross source code (history)

Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here

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

© 2003-2018 GRASS Development Team, GRASS GIS 7.0.7svn Reference Manual