Vector break line intersections

From GRASS-Wiki
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.

Example of breaking a vector line at intersections

Q: I have a vector line map (river network) which I want to clean and break the lines at intersections. How to manage the categories?

A: Using GRASS v.clean tool:

  # Cleaning vector and breaking lines
  v.clean -c --overwrite input=river_network_modified output=river_network_modified_clean tool=break,snap,rmline threshold=0,50,0
  
  # Check cats
  v.category input=river_network_modified_clean option=report layer=-1

Now add new categories to a new layer, e.g. with

  v.category option=add layer=2 cat=1 step=1 type=line ...

Then add a new table to layer 2

  v.db.addtable layer=2 columns="cat_lyr1 integer" ...

Load category values (or any other attributes) from layer 1 to layer 2 with

  v.to.db layer=2 column=cat_lyr1 query_layer=1 query_column=cat ...

Now you have unique new categories in layer 2 and the old categories still existing in layer 1 are also in the field cat_lyr1 of layer 2.