GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here

NAME

v.buffer - Creates a buffer around vector features of given type.

KEYWORDS

vector, buffer, geometry

SYNOPSIS

v.buffer
v.buffer help
v.buffer [-sct] input=name [layer=integer] [cats=range] [where=sql_query] [type=string[,string,...]] output=name [distance=float] [minordistance=float] [angle=float] [bufcolumn=name] [scale=float] [tolerance=float] [--overwrite] [--verbose] [--quiet]

Flags:

-s
Make outside corners straight
-c
Don't make caps at the ends of polylines
-t
Transfer categories and attributes
--overwrite
Allow output files to overwrite existing files
--verbose
Verbose module output
--quiet
Quiet module output

Parameters:

input=name
Name of input vector map
layer=integer
Layer number
A single vector map can be connected to multiple database tables. This number determines which table to use.
Default: 1
cats=range
Category values
Example: 1,3,7-9,13
where=sql_query
WHERE conditions of SQL statement without 'where' keyword
Example: income < 1000 and inhab >= 10000
type=string[,string,...]
Feature type
Options: point,line,boundary,centroid,area
Default: point,line,area
output=name
Name for output vector map
distance=float
Buffer distance along major axis in map units
minordistance=float
Buffer distance along minor axis in map units
angle=float
Angle of major axis in degrees
Default: 0
bufcolumn=name
Name of column to use for buffer distances
scale=float
Scaling factor for attribute column values
Default: 1.0
tolerance=float
Maximum distance between theoretical arc and polygon segments as multiple of buffer
Default: 0.01

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

Internal buffers for areas can be generated with negative distance values ("inward buffer" or "negative buffer"). Attributes are not transferred due to potential buffer overlap, which cannot be resolved automatically.

Buffers for lines and areas are generated using the algorithms from the GEOS library.

EXAMPLES

All examples are based on the North Carolina sample dataset.

Buffer around input lines

v.buffer input=roadsmajor output=roadsmajor_buffer type=line distance=100

Buffer of 100m along the "roadsmajor" lines (map subset, original center line shown in black)

Circles around input points

v.buffer input=hospitals output=hospitals_circled type=point distance=2000 

Buffer of 2000m around the "hospitals" points (map subset, original points shown in black, new area centroids in red)

Overlapping circles around input points with attribute transfer

# copy map to current mapset (for easier DB linking)
g.copy vect=hospitals,myhospitals
v.buffer input=myhospitals output=circles type=point distance=2000
# change original points to centroids: 
v.type in=myhospitals out=hospital_centroids type=point,centroid 
# patch circles and centroids: 
v.patch in=hospital_centroids,circles out=circles_db 
# attach attributes, either use db.copy or link to the original table: 
v.db.connect map=circles_db table=myhospitals layer=1 key=cat driver=dbf \
     database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf'
v.db.select circles_db

Buffer around input areas

v.buffer input=lakes output=lakes_buffer type=area distance=100

Buffer of 100m around the "lakes" polygons (map subset, original areas shown in black)

REFERENCE

SEE ALSO

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

AUTHORS

Radim Blazek
Rewritten by Rosen Matev (with support through the Google Summer of Code program 2008)
Rewritten by Markus Metz (2011, 2012)

Last changed: $Date: 2014-04-30 09:19:24 -0700 (Wed, 30 Apr 2014) $


Main index - vector index - Full index

© 2003-2016 GRASS Development Team