Scroll to navigation

v.buffer(1grass) Grass User's Manual v.buffer(1grass)

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 = 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

GEOS Library

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 18:19:24 +0200 (Wed, 30 Apr 2014) $
Full index
© 2003-2014 GRASS Development Team
GRASS 6.4.4