DESCRIPTION

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).

NOTES

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

The input vector must be reasonably clean: lines must not intersect themselves. It is recommended to clean the input vector first with v.clean tool=snap,break,rmdupl and then create buffers. The snapping threshold depends on the digitization threshold and the desired buffering distance. As a rule of thumb, the snapping distance can be up to 1% of the buffering distance.

EXAMPLES

Buffer around input lines

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

Circles around input points

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

Non-overlapping circles around input points with attribute transfer

v.buffer input=archsites output=circles type=point buffer=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 \
database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf'

BUGS

For some data v.buffer can produce strange results, especially if the buffer size is bigger than input features. Usually you can solve the problem if you run v.buffer more times with smaller buffer.

SEE ALSO

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

AUTHOR

Radim Blazek
Markus Metz

Last changed: $Date$