v.sample samples a GRASS raster map at the point locations in the input file by either cubic convolution interpolation, bilinear interpolation, or nearest neighbor sampling (default).

This program may be especially useful when sampling for cross validation of interpolations whose output is a raster map.


The output points will have the easting and northing of the input points. The input category value is used. The input attribute, raster value and difference is written to output.

When NULL values are encountered for a cell, zero value is used instead. In these cases, more acurrate results may be obtained by using the default nearest neighbor comparisons.

This program may not work properly with lat-long data when the -bc flags are used.

When interpolation is done (i.e., the -bc flags are used), values are assumed to be located at the centroid of grid cells. Therefore, current resolution settings are important.


Comparison of "elevation.dem" and "elevation.10m" Spearfish maps at random places:
#generate random points:
 v.random output=random n=100
#add table with one column:
 v.db.addtable random col="el10 double"
#transfer elevations at random points into table:
 v.what.rast rast=elevation.10m vect=random col=el10
#verify: random

#generate sampling from other elevation map:
 v.sample in=random col=el10 rast=elevation.dem out=elev_sample

#verify: elev_sample

#univariate statistics of differences between elevation maps:
 v.univar elev_sample col=diff type=point


g.region, v.random, v.what.rast Image Sampling Methods - GRASS Tutorial on s.sample (available as


James Darrell McCauley
when he was at: Agricultural Engineering Purdue University

Updated for GRASS 5.0 by Eric G. Miller
Updated for GRASS 5.7 by Radim Blazek

Last changed: $Date$