Vector topology cleaning

From GRASS-Wiki
Revision as of 22:27, 19 April 2013 by Neteler (talk | contribs) (cleaning of vector networks (based on grass-user mailing list hints by Markus Metz))
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Q: How can I speed up topologial cleaning (v.clean) for large network datasets (for example OpenStreetMap data)?

A: The improved v.clean version in GRASS 7 is way faster. Here some hints:

GRASS 6: When breaking lines it is recommended to

  • split the lines first in smaller segments with v.split using the vertices option. Then,
  • run v.clean with 'tool=break'. After that,
  • use v.build.polylines to merge lines again.

GRASS 7: Here this has become much easier. Use v.clean with the -c flag and 'tool=break' and 'type=line'. The 'rmdupl' tool is then automatically added, and the splitting and merging is done internally.


Q: How can I patch to fitting area maps with have been digitized separately and correct the topology? I observe that the shared polygon boundaries do not perfectly match... I need to clean topology.

Polygon vector map with topology problems

A: You can use v.clean for this.

Tools to consider:

  • snap,bpol,rmdupl,break,rmdupl,rms
  • the threshold (in map units) should be very small

Example (Lat-Long):

 v.in.ogr natural_earth/ne_110m_admin_0_countries.shp out=country_boundaries snap=0.0001 TODO: FIX THIS

Q: How about self-intersecting lines and boundaries?

A: In the GRASS topological model self-intersecting lines are allowed, self-intersecting boundaries are not. Self-intersecting lines are ok e.g. for v.net modules, e.g. to represent a bridge of a secondary road over a highway.

Note: There are some modules that do not like self-intersecting lines, e.g with v.buffer problems are expected.


Polygon import from SHAPE file:

Overlayed polygons after import from SHAPE file (Simple Features

v.clean applied:

Overlayed polygons topologically cleaned. Note the double categories.

See also