Skip to content

v.to.rast

Converts (rasterize) a vector map into a raster map.

v.to.rast [-d] input=name [layer=string] [type=string [,string,...]] [cats=range] [where=sql_query] output=name use=string [attribute_column=name] [rgb_column=name] [label_column=name] [value=float] [memory=memory in MB] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

v.to.rast input=name output=name use=string

grass.script.run_command("v.to.rast", input, layer="1", type="point,line,area", cats=None, where=None, output, use, attribute_column=None, rgb_column=None, label_column=None, value=1, memory=300, flags=None, overwrite=False, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("v.to.rast", input="name", output="name", use="string")

Parameters

input=name [required]
    Name of input vector map
    Or data source for direct OGR access
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
type=string [,string,...]
    Input feature type
    Allowed values: point, line, boundary, centroid, area
    Default: point,line,area
cats=range
    Category values
    Example: 1,3,7-9,13
where=sql_query
    WHERE conditions of SQL statement without 'where' keyword
    Example: income < 1000 and population >= 10000
output=name [required]
    Name for output raster map
use=string [required]
    Source of raster values
    Allowed values: attr, cat, value, z, dir
    attr: read values from attribute table
    cat: use category values
    value: use value specified by value option
    z: use z coordinate (points or contours only)
    dir: line direction in degrees CCW from east (lines only)
attribute_column=name
    Name of column for 'attr' parameter (data type must be numeric)
rgb_column=name
    Name of color definition column (with RRR:GGG:BBB entries)
label_column=name
    Name of column used as raster category labels
value=float
    Raster value (for use=value)
    Default: 1
memory=memory in MB
    Maximum memory to be used (in MB)
    Cache size for raster rows
    Default: 300
-d
    Create densified lines (default: thin lines)
    All cells touched by the line will be set, not only those on the render path
--overwrite
    Allow output files to overwrite existing files
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

input : str, required
    Name of input vector map
    Or data source for direct OGR access
    Used as: input, vector, name
layer : str, optional
    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.
    Used as: input, layer
    Default: 1
type : str | list[str], optional
    Input feature type
    Allowed values: point, line, boundary, centroid, area
    Default: point,line,area
cats : str, optional
    Category values
    Example: 1,3,7-9,13
    Used as: input, cats, range
where : str, optional
    WHERE conditions of SQL statement without 'where' keyword
    Example: income < 1000 and population >= 10000
    Used as: input, sql_query, sql_query
output : str, required
    Name for output raster map
    Used as: output, raster, name
use : str, required
    Source of raster values
    Allowed values: attr, cat, value, z, dir
    attr: read values from attribute table
    cat: use category values
    value: use value specified by value option
    z: use z coordinate (points or contours only)
    dir: line direction in degrees CCW from east (lines only)
attribute_column : str, optional
    Name of column for 'attr' parameter (data type must be numeric)
    Used as: input, dbcolumn, name
rgb_column : str, optional
    Name of color definition column (with RRR:GGG:BBB entries)
    Used as: input, dbcolumn, name
label_column : str, optional
    Name of column used as raster category labels
    Used as: input, dbcolumn, name
value : float, optional
    Raster value (for use=value)
    Default: 1
memory : int, optional
    Maximum memory to be used (in MB)
    Cache size for raster rows
    Used as: memory in MB
    Default: 300
flags : str, optional
    Allowed values: d
    d
        Create densified lines (default: thin lines)
        All cells touched by the line will be set, not only those on the render path
overwrite: bool, optional
    Allow output files to overwrite existing files
    Default: False
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

v.to.rast transforms GRASS vector map layers into GRASS raster map layer format. Optionally, attributes can be converted to raster category labels.

NOTES

In order to avoid unexpected results, the type of vector features should always be specified. The default is to convert all vector features, but if only e.g. areas should be converted use type=area rather than type=point,line,area.

v.to.rast will only affect data in areas lying inside the boundaries of the current geographic region. A grid cell belongs to the area where the grid cell center falls into.

Before running v.to.rast, the user should therefore ensure that the current geographic region is correctly set and that the region resolution is at the desired level.

Either the column parameter or the value parameter must be specified. The use option may be specified alone when using the dir option.

use options are:

  • attr - read values from attribute table (default)
  • cat - read values from category
  • value - use value specified by value option
  • z - use z coordinate (points or contours only)
  • dir - line direction in degrees counterclockwise from east (lines only)

The column parameter uses an existing column from the vector map database table as the category value in the output raster map. Existing table columns can be shown by using db.describe.

An empty raster map layer will be created if the vector map layer has not been assigned category/attribute labels (e.g., through use of v.category option=add).

Otherwise:

  • Labeled areas and/or centroids will produce filled raster coverages with edges that straddle the original area boundary as long as the boundary is NOT labeled.
    (Use v.category option=del type=boundary to remove.)
  • Labeled lines and boundaries will produce lines of raster cells which touch the original vector line. This tends to be more aggressive than area-only conversions.
  • Points and orphaned centroids will be converted into single cells on the resultant raster map.

Line directions are given in degrees counterclockwise from east.

Raster category labels are supported for all of use= except use=z.

The -d flag applies only to lines and boundaries, the default is to set only those cells on the render path (thin line).

Boundaries (usually without categories) can be rasterized with

v.to.rast type=boundary layer=-1 use=value

EXAMPLES

Convert a vector map and use column SPEED from attribute table

db.describe -c table=vect_map

ncols:3
Column 1: CAT
Column 2: SPEED
Column 3: WIDTH
v.to.rast input=vect_map output=raster_map attribute_column=SPEED type=line

Calculate stream directions from a river vector map (Spearfish)

v.to.rast input=streams output=streamsdir use=dir

Calculate slope along path

Using slope and aspect maps, compute slope along a bus route (use full NC sample dataset):

g.region raster=elevation -p
r.slope.aspect elevation=elevation slope=slope aspect=aspect

# compute direction of the bus route
v.to.rast input=busroute11 type=line output=busroute11_dir use=dir

# extract steepest slope values and transform them into slope along path
r.mapcalc "route_slope = if(busroute11, slope)"
r.mapcalc "route_slope_dir = abs(atan(tan(slope) * cos(aspect - busroute11_dir)))"

Slope along path
Slope in degrees along bus route

Convert a vector polygon map to raster including descriptive labels

In this example, the ZIP code vector map is rasterized (North Carolina sample dataset):

# rasterize ZIP codes at 50m raster resolution
g.region vector=zipcodes_wake res=50 -ap
# vector to raster conversion, with category labels
v.to.rast input=zipcodes_wake output=myzipcodes use=attr attribute_column="ZIPNUM" label_column="NAME"

Convert vector points to raster with raster cell binning

In this example, the number of schools per raster cell are counted (North Carolina sample dataset):

g.copy vector=schools_wake,myschools_wake

# set computation region for raster binning
g.region vector=myschools_wake res=5000 -p -a

# add new column for counting
v.db.addcolumn myschools_wake column="value integer"
v.db.update myschools_wake column=value value=1

# verify attributes
v.db.select myschools_wake column=cat,value
v.out.ascii input=myschools_wake output=- column=value

# export and import on the fly, use 4th column (value) as input
v.out.ascii input=myschools_wake output=- column=value | r.in.xyz input=- \
            z=4 output=schools_wake_aggreg method=sum

d.mon wx0
d.rast schools_wake_aggreg
d.vect schools_wake
d.grid 5000

Number of schools per raster cell
Number of schools per raster cell

SEE ALSO

db.describe, v.category

AUTHORS

Original code: Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
GRASS 6.0 updates: Radim Blazek, ITC-irst, Trento, Italy
Stream directions: Jaro Hofierka and Helena Mitasova
GRASS 6.3 code cleanup and label support: Brad Douglas

SOURCE CODE

Available at: v.to.rast source code (history)
Latest change: Thursday Feb 13 14:10:24 2025 in commit c0fe7d7