Use dmax parameter to control query distance tolerance (how far points/centroids can be from qvector features). For more options, use v.distance instead.
In case of a multipoint input vector 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 qvector 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).
g.copy vect=hospitals,myhospitals v.db.addcol myhospitals column="urb_name varchar(25)" v.what.vect myhospitals qvect=urbanarea column=urb_name qcolumn=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 qvect=geonames_IT_cities column=gnameid \ qcolumn=geonameid dmax=3000 # now gnameid can be used for v.db.join to join further # attributes in from geonames.org
Last changed: $Date: 2011-11-08 03:29:50 -0800 (Tue, 08 Nov 2011) $
Main index - vector index - Full index
© 2003-2012 GRASS Development Team