Skip to content

v.to.3d

Performs transformation of 2D vector features to 3D.

v.to.3d [-rt] input=name [layer=string] [type=string [,string,...]] output=name [column=name] [height=float] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

v.to.3d input=name output=name

grass.script.run_command("v.to.3d", input, layer="1", type="point,line,boundary,centroid", output, column=None, height=None, flags=None, overwrite=False, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("v.to.3d", 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 ('-1' for all layers)
    A single vector map can be connected to multiple database tables. This number determines which table 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
    Name of attribute column used for height
    Can be used for reverse transformation, to store height of points
height=float
    Fixed height for 3D vector features
-r
    Reverse transformation; 3D vector features to 2D
-t
    Do not copy attribute table
--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 ('-1' for all layers)
    A single vector map can be connected to multiple database tables. This number determines which table 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
    Name of attribute column used for height
    Can be used for reverse transformation, to store height of points
    Used as: input, dbcolumn, name
height : float, optional
    Fixed height for 3D vector features
flags : str, optional
    Allowed values: r, t
    r
        Reverse transformation; 3D vector features to 2D
    t
        Do not copy attribute table
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

The v.to.3d module is used to transform 2D vector features to 3D. Height (z-coordinate) of 3D vector features can be specified by height parameter as fixed value or by column parameter.

The flag -r enables to perform reverse transformation, i.e., transform 3D vector to 2D by omitting z-coordinate. The height of input 3D features can be optionally stored in column.

NOTES

When transforming 2D vector features to 3D based on attribute, all NULL values are silently converted to height 0.0.

The reverse transformation, 2D to 3D, is possible for points and lines. In the case of lines, the reverse transformation should be used only when all vertices of a line have the same z-coordinate (for example contours).

EXAMPLES

Transform 2D vector features to 3D

# convert z-values from string to double
v.db.addcolumn map=geodetic_pts columns="Z_VALUE_D double precision"
v.db.update map=geodetic_pts column=Z_VALUE_D qcolumn=Z_VALUE
v.db.select map=geodetic_pts columns=cat,Z_VALUE,Z_VALUE_D

# convert 2D vector point map to 3D based on attribute
v.to.3d input=geodetic_pts out=geodetic_pts_3d column=Z_VALUE_D

Transform 3D vector features to 2D

v.to.3d -rt input=elev_lid792_bepts output=elev_lid_2d

SEE ALSO

v.transform, v.extrude, v.drape

AUTHOR

Martin Landa, Czech Technical University in Prague, Czech Republic

SOURCE CODE

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