v.buffer fusions the geometries of buffers by default. Categories and attribute table will not be transferred (this would not make sense as one buffer geometry can be the result of many different input geometries). To transfer the categories and attributes the user can set the t flag. This will result in buffers being cut up where buffers of individual input geometries overlap. Each part that is the result of overlapping buffers of multiple geometries will have multiple categories corresponding to those geometries, and multiple buffer areas can have the same category. The buffer for the input feature with category X can thus be retrieved by selecting all buffer areas with category X (see example below).
Buffers for lines and areas are generated using the algorithms from the GEOS library.
For advanced users: built-in buffer algorithm no longer desired, we use GEOS: If GRASS is not compiled with GEOS support or environmental variable GRASS_VECTOR_BUFFER is defined, then GRASS generates buffers using built-in buffering algorithm (which is still buggy for some input data).
The options minordistance, angle, tolerance are kept for backward compatibility and have no effect with GEOS buffering.
v.buffer input=roadsmajor output=roadsmajor_buffer type=line distance=100
v.buffer input=hospitals output=hospitals_circled type=point distance=2000
v.buffer input=hospitals output=hospitals_circled type=point distance=1000 -t # display buffer around hospital with category 36, # this buffer is composed of several areas: d.vect map=hospitals_circled type=area layer=1 cats=36 # extract this buffer, dissolving boundaries v.extract in=hospitals_circled output=hospital_36_circled layer=1 cats=36 -d
v.buffer input=lakes output=lakes_buffer type=area distance=100
v.buffer input=lakes output=lakes_buffer type=area distance=-50
Last changed: $Date$