r.category(1grass) GRASS GIS User's Manual r.category(1grass)
NAME
r.category - Manages category values and labels associated with
user-specified raster map layers.
KEYWORDS
raster, category
SYNOPSIS
r.category
r.category --help
r.category map=name [cats=range[,range,...]] [val-
ues=float[,float,...]] [separator=character] [raster=name]
[rules=name] [format=string] [coefficients=mult1,offset1,mult2,off-
set2] [--help] [--verbose] [--quiet] [--ui]
Flags:
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
map=name [required]
Name of raster map
cats=range[,range,...]
Category values
Example: 1,3,7-9,13
values=float[,float,...]
Comma separated value list
Example: 1.4,3.8,13
separator=character
Field separator
Special characters: pipe, comma, space, tab, newline
Default: tab
raster=name
Raster map from which to copy category table
rules=name
File containing category label rules (or "-" to read from stdin)
format=string
Default label or format string for dynamic labeling
Used when no explicit label exists for the category
coefficients=mult1,offset1,mult2,offset2
Dynamic label coefficients
Two pairs of category multiplier and offsets, for $1 and $2
DESCRIPTION
r.category prints the category values and labels for the raster map
layer specified by map=name to standard output. You can also use it to
set category labels for a raster map.
The user can specify all needed parameters on the command line, and run
the program non-interactively. If the user does not specify any cate-
gories (e.g., using the optional cats=range[,range,...] argument),
then all the category values and labels for the named raster map layer
that occur in the map are printed. The entire map is read using r.de-
scribe, to determine which categories occur in the map. If a listing of
categories is specified, then the labels for those categories only are
printed. The cats may be specified as single category values, or as
ranges of values. The user may also (optionally) specify that a field
separator other than a space or tab be used to separate the category
value from its corresponding category label in the output, by using the
separator=character|space|tab option (see example below). If no field
separator is specified by the user, a tab is used to separate these
fields in the output, by default.
The output is sent to standard output in the form of one category per
line, with the category value first on the line, then an ASCII TAB
character (or whatever single character or space is specified using the
separator parameter), then the label for the category.
NOTES
Any ASCII TAB characters which may be in the label are replaced by spa-
ces.
The output from r.category can be redirected into a file, or piped into
another program.
Input from a file
The rules option allows the user to assign category labels from values
found in a file (without header). The label can refer to a single cate-
gory, range of categories, floating point value, or a range of floating
point values. The format is given as follows (when separator is set to
colon; no white space must be used after the separator):
cat:Label
val1:val2:Label
If the filename is given as "-", the category labels are read from
stdin
Default and dynamic category labels
Default and dynamic category labels can be created for categories that
are not explicitly labeled. The coefficient line can be followed by
explicit category labels which override the format label generation.
0:no data
2: .
5: . ## explicit category labels
7: .
explicit labels can be also of the form:
5.5:5:9 label description
or
15:30 label description
In the format line
• $1 refers to the value num*5.0+1000 (ie, using the first 2 co-
efficients)
• $2 refers to the value num*5.0+1005 (ie, using the last 2 coef-
ficients)
$1.2 will print $1 with 2 decimal places.
Also, the form $?xxx$yyy$ translates into yyy if the category is 1, xxx
otherwise. The $yyy$ is optional. Thus
$1 meter$?s
will become:
1 meter (for category 1)
2 meters (for category 2), etc.
format=’Elevation: $1.2 to $2.2 feet’ ## Format Statement
coefficients="5.0,1000,5.0,1005" ## Coefficients
The format and coefficients above would be used to generate the follow-
ing statement in creation of the format appropriate category string for
category "num":
sprintf(buff,"Elevation: %.2f to %.2f feet", num*5.0+1000,
num*5.0*1005)
Note: while both the format and coefficient lines must be present a
blank line for the format string will effectively suppress automatic
label generation.
To use a "$" in the label without triggering the plural test, put "$$"
in the format string.
Use ’single quotes’ when using a "$" on the command line to avoid un-
wanted shell substitution.
EXAMPLES
North Carolina sample dataset:
Printing categories
r.category map=landclass96
1 developed
2 agriculture
3 herbaceous
4 shrubland
5 forest
6 water
7 sediment
prints the values and labels associated with all of the categories in
the landclass96 raster map layer.
r.category map=landclass96 cats=2,5-7
2 agriculture
5 forest
6 water
7 sediment
prints only the category values and labels for landclass96 map layer
categories 2 and 5 through 7.
r.category map=landclass96 cats=3,4 separator=comma
3,herbaceous
4,shrubland
prints the values and labels for landclass96 map layer categories 3 and
4, but uses "," (instead of a tab) as the character separating the cat-
egory values from the category values in the output.
Adding categories
Example for defining new category labels, using a colon as separator:
r.category diseasemap separator=":" rules=- << EOF
1:potential absence
2:potential presence
EOF
This sets the categoy values 1 and 2 to respective text labels. Alter-
natively, the rules can be stored in an ASCII text file and loaded via
the rules parameter.
SEE ALSO
UNIX Manual entries for awk and sort
d.what.rast, r.coin, r.describe, r.support
AUTHORS
Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
Hamish Bowman, University of Otago, New Zealand (label creation op-
tions)
SOURCE CODE
Available at: r.category source code (history)
Accessed: unknown
Main index | Raster index | Topics index | Keywords index | Graphical
index | Full index
© 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual
GRASS 7.8.7 r.category(1grass)
Generated by dwww version 1.14 on Sat Jun 13 12:42:18 CEST 2026.