v.what.rast reads raster value for each point in the vector and updates col column in vector attribute table by this value. The column should be type number (integer, float, double, ... ).
If more points have the same category, attribute value is set to NULL. If raster values is NULL, attribute value is set to NULL.


v.what.rast operates on the attribute table. To modify the vector geometry instead, use v.drape.


A) Reading values from raster map at position of vector points, writing these values into a column of the attribute table connected to the vector map:
v.what.rast vect=pnts rast=elevation col=heights

B) In case of a vector map without attached attribute table, first add a new attribute table. This table is then populated with values queried from the raster map:

# create new random vector points map
v.random pnts n=100

# add new table, link to map
v.db.addtable pnts col="heights double precision"

# query raster map and upload values to vector table into specified column
g.region rast=elevation -p
v.what.rast vect=pnts raster=elevation column=heights

# verify new attribute table: pnts

# verify statistics of uploaded values:
v.univar map=pnts column=heights type=point


v.db.addtable,, v.drape, v.univar, v.rast.stats, v.what.vect


Radim Blazek

Last changed: $Date$