v.what.vect.1grass man page

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


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


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]



Print usage summary


Verbose module output


Quiet module output


Force launching GUI dialog


map=name [required]

Name of vector points map for which to edit attributes
Or data source for direct OGR access


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


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


Maximum query distance in map units
Default: 0.0


v.what.vect transfers attributes from the query_map’s map attribute table into the attribute table of points present in the map map. The script is based on v.distance.


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

Use dmax parameter to control query distance tolerance (how far points/centroids can be from query_map features). For more options, use v.distance instead.

In case of a multipoint input map 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 to a polygon map, usually dmax has to be larger than zero (determined by distance between query points and polygon centroids).

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.


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

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 more from Geonames.org country files are transferred to selected EU CORINE landuse/landcover classes ("Continuous urban fabric", 111, and "Discontinuous urban fabric", 112). Note: Example in UTM projection to which the input maps have been projected beforehand to have metric distances support:

# 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 in 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


Markus Neteler

Last changed: $Date: 2016-08-22 04:16:33 +0200 (Mon, 22 Aug 2016) $

Source Code

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

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

© 2003-2018 GRASS Development Team, GRASS GIS 7.4.1 Reference Manual


GRASS 7.4.1 Grass User's Manual