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.
v.buffer input=map output=buffer type=line buffer=100
v.buffer input=pointsmap output=circles type=point buffer=1000
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'
The bufcol dynamic buffer distance parameter has problems cleaning complex features (holes left filled, etc.). If you experience problems, try running v.buffer multiple times with a single buffer distance, patch the results with v.patch and remove any overlaps with v.extract -d.
Last changed: $Date$