v.buffer creates a buffer around features of given type, which have a category in the given layer. The tolerance controls the number of vector segments being generated (the smaller the value, the more vector segments are generated).


Attributes are not transferred due to potential buffer overlap, which cannot be resolved automatically.


Buffer around input lines

v.buffer input=map output=buffer type=line distance=100

Circles around input points

v.buffer input=pointsmap output=circles type=point distance=1000 

Non-overlapping circles around input points with attribute transfer

v.buffer input=archsites output=circles type=point distance=200 
# change original points to centroids: 
v.type in=archsites out=archcentroids type=point,centroid 
# patch circles and centroids: 
v.patch in=archcentroids,circles out=circles_db 
# attach attributes, either use 
# db.copy ... 
# or link to the original table: 
v.db.connect map=circles_db table=archsites field=1 key=cat driver=dbf \


r.buffer, v.extract, v.type, v.patch, v.db.connect


Radim Blazek
Rewritten by Rosen Matev (with support through the Google Summer of Code program 2008)

Last changed: $Date$