v.what.vect - GRASS manual
Author: GRASS Development Team
Description: v.what.vect: Uploads vector values at positions of vector points to the table.
Keywords: vector, sampling, database, position, querying, attribute table

## NAME

v.what.vect - Uploads vector values at positions of vector points to the table.

## KEYWORDS

vector, sampling, database, position, querying, attribute table

## SYNOPSIS

v.what.vect
v.what.vect --help
v.what.vect map=name [layer=string] column=name query_map=name [query_layer=string] query_column=name [dmax=float] [--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 vector points map for which to edit attributes
  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
column=name [required]
  Name of attribute column to be updated with the query result
query_map=name [required]
  Name of vector map to be queried
  Or data source for direct OGR access
query_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
query_column=name [required]
  Name of attribute column to be queried
dmax=float
  Maximum query distance in map units (meters for ll)
  Default: 0.0

## DESCRIPTION

v.what.vect transfers attributes from the query_map's attribute table into the map's attribute table. The module can be used to transfer attributes from the table of a polygon map into the attribute table of a point vector map, as well as the other way around, i.e., from a point map into the attribute table of a polygon map (See examples). The script is based on v.distance.

## NOTES

The upload column into which the query results are stored must be present in map. Use v.db.addcolumn to add one if needed.

Use the dmax parameter to control the query distance tolerance, i.e., how far map's points/centroids can be from the query_map features. For further options, use v.distance.

In case of a multipoint input map with several points having the same category number, it can happen that the query result is NULL if the same category number falls into different query_map polygons.

When transferring attributes from a point map into a polygon map, dmax has to be larger than zero, i.e., it will be determined by the distance between query points and polygon centroids. Importantly, distance is in meters for latitude-longitude projects.

In case that one or both input vector maps are 3D, features need to touch also in the 3rd dimension (z coordinate) in order to transfer attributes.

## EXAMPLES

In this example, the 'hospitals' point map in the North Carolina dataset is copied to the current mapset, a new attribute column is added and the urban names from the 'urbanarea' polygon map are transferred to hospital points locations in 'myhospitals' map:

    g.copy vect=hospitals,myhospitals
    v.db.addcolumn myhospitals column="urb_name varchar(25)"
    v.what.vect myhospitals query_map=urbanarea column=urb_name query_column=NAME
    # verification:
    v.db.select myhospitals

In this example, city names, population data and others from Geonames.org country files are transferred to selected EU CORINE landuse/landcover classes ("Continuous urban fabric", 111, and "Discontinuous urban fabric", 112). Note: The example is in UTM projection to which the input maps have been projected beforehand.

    # extract populated places from geonames
    v.extract geonames_IT where="featurecla='P'" output=geonames_IT_cities
    # add new column
    v.db.addcol corine_code111_112_cities column="gnameid double precision"
    # transfer geonameid (3000m maximal distance between points and centroids)
    v.what.vect corine_code111_112_cities query_map=geonames_IT_cities column=gnameid \
                query_column=geonameid dmax=3000
    # now gnameid can be used for v.db.join to join further
    # attributes from geonames.org

## SEE ALSO

v.db.addcolumn, v.db.select, v.distance, v.rast.stats, v.what.rast, v.what.rast3, v.vect.stats

## AUTHOR

Markus Neteler

## SOURCE CODE

Available at: v.what.vect source code (history)

Latest change: Friday Feb 07 19:16:09 2025 in commit: a82a39f673b97fafcfce1604dc3e6015cb96487a

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

© 2003-2026 GRASS Development Team, GRASS 8.6.0dev Reference Manual