Skip to content

v.reclass

Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.

v.reclass input=name [layer=string] [type=string [,string,...]] output=name [column=name] [rules=name] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

v.reclass input=name output=name

grass.script.run_command("v.reclass", input, layer="1", type="point,line,boundary,centroid", output, column=None, rules=None, overwrite=False, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("v.reclass", input="name", output="name")

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
    Default: point,line,boundary,centroid
output=name [required]
    Name for output vector map
column=name
    The name of the column whose values are to be used as new categories
    The source for the new key column must be type integer or string
rules=name
    Full path to the reclass rule file
--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
    Default: point,line,boundary,centroid
output : str, required
    Name for output vector map
    Used as: output, vector, name
column : str, optional
    The name of the column whose values are to be used as new categories
    The source for the new key column must be type integer or string
    Used as: input, dbcolumn, name
rules : str, optional
    Full path to the reclass rule file
    Used as: input, file, name
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.reclass allows user to create a new vector map based on the reclassification of an existing vector map. It also allows the user to change the key column away from the default of "cat" with the column option.

Rules file may contain on each row either pair:

keyword value

(separated by space) or comment beginning with '#' (hash). Definition of new category begins with keyword cat followed by the new category value. Keyword where specifies SQL where condition.

NOTES

No table is created for the reclassed map if the column option is used and the column type is integer (as the result could contain ambiguities). If the column option is used and the column type is string, a new table is created containing the newly generated cat numbers and a single column containing the unique string column values, sorted in alphabetical order.

For dissolving common boundaries, see v.dissolve.

Either the rules or column option must be specified.

EXAMPLES

Example 1: Reclass by rules

v.reclass input=land output=land_u type=boundary rules=land.rcl

The rules file contains:

# land reclass file
cat 1
where use = 'E13' and owner = 'Jara Cimrman'
cat 2
where use = 'E14'

Produces a new vector area map land_u containing boundaries from land with area category values selected from database by SQL select statement:
select id from tland where use = 'E13' and owner = 'Jara Cimrman' changed to category 1;
values selected from database by SQL select statement:
select id from tland where use = 'E14' changed to category 2.

Example 2: Reclass by attribute column

(North Carolina sample dataset)

v.reclass in=streams out=streams_by_type column=I_vs_P

v.db.select streams_by_type
cat|I_vs_P
1|intermittent
2|perennial

KNOWN ISSUES

No table is created for reclassed layer if the rules option is used.

SEE ALSO

v.dissolve, v.extract

GRASS SQL interface

AUTHORS

R.L. Glenn, USDA, SCS, NHQ-CGIS
from v.reclass to v.db.reclass and later to v.reclass in 5.7 rewritten by Radim Blazek

SOURCE CODE

Available at: v.reclass source code (history)
Latest change: Friday Feb 07 19:16:09 2025 in commit a82a39f