v.label(1)

NAME
v.label - Creates paint labels for a vector map from attached attributes.

KEYWORDS
vector, paint labels

SYNOPSIS
v.label
v.label --help
v.label [-ac] [labels=name] map=name column=name [type=string[,string,...]] [layer=string] [where=sql_query] [xoffset=float] [yoffset=float] [reference=string[,string,...]] [font=string] [size=float] [space=float] [fontsize=integer] [color=name] [rotation=angle] [width=float] [highlight_color=name] [highlight_width=float] [bgcolor=name] [border=name] [opaque=yes|no] [--help] [--verbose] [--quiet] [--ui]

  Flags:

-a
    Rotate labels to align with lines

-c
    Curl labels along lines

--help
    Print usage summary

--verbose
    Verbose module output

--quiet
    Quiet module output

--ui
    Force launching GUI dialog

  Parameters:

labels=name
    Name for new paint-label file
    If not given the name of the input map is used

map=name [required]
    Name of vector map
    Or data source for direct OGR access

column=name [required]
    Name of attribute column to be used for labels

type=string[,string,...]
    Input feature type
    Options: point, line, boundary, centroid
    Default: point,line,boundary,centroid

layer=string
    Layer number or name
    Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
    Default: 1

where=sql_query
    WHERE conditions of SQL statement without ’where’ keyword
    Example: income < 1000 and population >= 10000

xoffset=float
    Offset label in x-direction
    Default: 0

yoffset=float
    Offset label in y-direction
    Default: 0

reference=string[,string,...]
    Reference position
    Options: center, left, right, upper, lower
    Default: center

font=string
    Font name
    Default: standard

size=float
    Label size (in map-units)
    Default: 100

space=float
    Space between letters for curled labels (in map-units)

fontsize=integer
    Label size (in points)
    Options: 1-1000

color=name
    Text color
    Either a standard color name or R:G:B triplet
    Default: black

rotation=angle
    Rotation angle in degrees (counter-clockwise)
    Options: 0-360
    Default: 0

width=float
    Border width
    Options: 0-25
    Default: 1

highlight_color=name
    Highlight color for text
    Either a standard color name, R:G:B triplet, or "none"
    Default: none

highlight_width=float
    Width of highlight coloring
    Default: 0

bgcolor=name
    Background color
    Either a standard color name, R:G:B triplet, or "none"
    Default: none

border=name
    Border color
    Either a standard color name, R:G:B triplet, or "none"
    Default: none

opaque=yes|no
    Opaque to vector (only relevant if background color is selected)
    Options: yes, no
    Default: yes

DESCRIPTION
v.label makes a label-file from a GRASS vector map with labels created from attributes in the attached table. If no label file name is given, the name of the source map is used.

NOTES
If the fontsize option is given then the space option is determined automatically from the current display window, otherwise the space option should be set roughly the same as the size option.

A description of the labels file follows.

The file is located in $MAPSET/paint/labels/. The file is a plain-text ASCII file containing the following fields:

  Caution: The following information may be incomplete, out of date, and wrong!
The label information that must be provided in the labels file is:

TEXT:
    Lines in multiple line labels will appear one above the next. More than one line of text can be specified by notating the end of a line with a ’\n’.
    (e.g. SPEARFISH\nSOUTH DAKOTA).

LOCATION:
    Determines where the text will be located on the image. The user specifies the easting and northing, and (optionally) specifies a vertical and horizontal offset from the specified easting/northing. These offsets are provided to allow finer placement of labels and are measured in local pixels. Thus in d.labels the offset is measured in screen pixels, and in ps.map the offset is measured in PostScript points (i.e. 1/72" steps).

PLACEMENT:
    Determines which part of the label to which the location refers. If placement is unspecified, the label is centered (center), by default. Label placement may be specified as:

        lower left    (lower left corner of the text)
        lower right    (lower right corner of the text)
        lower center    (bottom center of the text)
        upper left    (upper left corner of the text)
        upper right    (upper right corner of the text)
        upper center    (top center of the text)
        center    (center of the text)

FONT:
    This specifies the font to use.

The following fonts are available for use with d.labels:

  cyrilc gothgbt gothgrt gothitt greekc greekcs greekp greeks
  italicc italiccs italict romanc romancs romand romans romant
  scriptc scripts

Alternatively the path to a FreeType (.ttf) font may be given. (for d.labels only)

The word standard can be used to specify the default font (which is romans).

Note ps.map can override this setting to use other fonts. Its default font is Helvetica.

TEXT SIZE:
    This determines the size of the letters. The size specifies the vertical height of the letters in meters on the ground. Thus text will grow or shrink depending on the scale at which the map is drawn. Alternatively fontsize can set the font size in normal font points.

TEXT COLOR:
    This selects the text color. If unspecified, the label’s text is drawn in black, by default. The text color can be specified in one of several ways:

1   By color name:
    aqua black blue brown cyan gray green grey indigo magenta orange purple red violet white yellow

2   As red, green, blue component values. (0-255)
    for example: 128:100:200

3   Specify "none" to suppress the lettering.

WIDTH:
    This determines the line thickness of the border box.
    The maximum value is 25.0.

HIGHLIGHT COLOR:
    The text can be highlighted in another color so that it appears to be in two colors. The text is drawn first in this color at a wider line width, and then redrawn in the text color at the regular line width. No highlight color ("none") is used by default, if unspecified by the user. To specify use of no highlight color, specify "none". (See TEXT COLOR above for a list of permissible color names.)

HIGHLIGHT WIDTH:
    Specifies how far from the text lines (in units of pixels) the highlight color should extend. The default highlight width is set to 0 (i.e., no highlight color).

BACKGROUND COLOR:
    Text may be boxed in a solid color by specifying a background color. Specify "none" for no background. The default background color setting, if unspecified by the user, is white. (See TEXT COLOR above for a list of permissible color names.)

BORDER COLOR:
    Select a color for the border around the background. Specify "none" to suppress the border. The default border color used, if unspecified, is black. (See TEXT COLOR above for a list of permissible color names.)

OPAQUE TO VECTORS:
    yes|no. This field only has meaning if a background color is selected. yes will prevent vector lines from entering the background. no will allow vector lines to enter the background. The default setting, if unspecified by the user, is yes.

EXAMPLE
Spearfish example with TrueType font (path may differ):

v.label -a map=roads column=label labels=lroads \
        font=/usr/X11R6/lib/X11/fonts/TTF/luximri.ttf
d.vect roads
d.labels lroads

Since the label files are simple text files, you can merge them together if you like. For example if you set the label colors based on database attributes using multiple runs with the where option. This example uses the standard UNIX cat program.

cd $MAPSET/paint/labels/
cat file1 file2 file3 file4 > file_all

SEE ALSO
d.labels, ps.map

AUTHORS
Philip Verhagen (original s.label)
Radim Blazek (GRASS 6 port)
Hamish Bowman (enhancements)

SOURCE CODE

Available at: v.label source code (history)

Accessed: Monday May 11 17:55:04 2026

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual