## NAME

v.clean - Toolset to clean vector topology.

## SYNOPSIS

v.clean
v.clean help
v.clean [-b] input=string output=string [type=string[,string,...]] [err=string] tool=string[,string,...] [thresh=float[,float,...]]

### Flags:

-b
  Do not rebuild and store the topology at the end.

### Parameters:

input=string
  Name of input vector
output=string
  Name of output vector
type=string[,string,...]
  Type
  Options: point,line,boundary,centroid,area
  Default: point,line,boundary,centroid,area
err=string
  Name of output map where errors are written.
tool=string[,string,...]
  Cleaning tool
  Options: break,rmdupl,rmdangle,chdangle,rmbridge,chbridge,snap,rmdac,bpol,prune,rmarea,rmsa
  break: break lines at each intersection
  rmdupl: remove duplicate lines (pay attention to categories!)
  rmdangle: remove dangles, threshold ignored if < 0
  chdangle: change the type of boundary dangle to line, threshold ignored if < 0, input line type is ignored
  rmbridge: remove bridges connecting area and island or 2 islands
  chbridge: change the type of bridges connecting area and island or 2 islands from boundary to line
  snap: snap lines to vertex in threshold
  rmdac: remove duplicate area centroids ('type' option ignored)
  bpol: break (topologically clean) polygons (imported from non topological format (like shapefile). Boundaries are broken on each point shared between 2 and more polygons where angles of segments are different
  prune: remove vertices in threshold from lines and boundaries, boundary is pruned only if topology is not damaged (new intersection, changed attachement of centroid), first and last segment of the boundary is never changed
  rmarea: remove small areas, the longest boundary with adjacent area is removed
  rmsa: remove small angles between lines at nodes
thresh=float[,float,...]
  Threshold
  Threshold in map units, one value for each tool (default: 0.0[,0.0,...])

## DESCRIPTION

v.clean allows the user to automatically change (repair) vector files. The user does not have to run v.build afterwards.

## NOTES

### What is a bridge?

A bridge is an area type connection of an island (polygon in a polygon) to the outer polygon. This is topologically incorrect (but OGC Simple Features allow it). v.clean can be used to optionally change the line type to fulfill the topology rules or to remove the bridge from the map:

        +-------------+             +-------------+   +-------------+
        |            P|  P: polygon |            P|   |            P|
        |    +---+    |  I: island  |    +---+    |   |    +---+    |
        |    | I |    |  B: bridge  |    | I |    |   |    | I |    |
        |    |   |    |  :  line    |    |   |    |   |    |   |    |
        |    +-+-+    |             |    +---+    |   |    +-.-+    |
        |      |      |             |             |   |      .      |
        |      | B    |             |             |   |      . L    |
        |      |      |             |             |   |      .      |
        +------+------+             +-------------+   +-------------+

## EXAMPLES

### Snap lines to vertex in threshold

v.clean input=testmap output=cleanmap tool=snap thresh=1

### Cleaning OGR imported data (Simple Feature data)

The import of areas with v.in.ogr requires a subsequent run of v.clean to update the map to a topologically valid structure (removal of duplicate collinear lines etc). The tools used for that are 'rmdupl' and 'bpol':

v.clean input=areamap output=areamap_clean tool=rmdupl,bpol

### Extracting intersection points of vector lines

v.clean input=lines1 output=lines2 err=points tool=break
Intersection points are written to 'points' map.

## AUTHOR

David Gerdes, U.S. Army Construction Engineering Research Laboratory
Radim Blazek, ITC-Irst, Trento, Italy

Last changed: $Date: 2004/08/07 15:56:22 $

Help Index