Add grouping variable to attribute table using QGIS

attribute-tableqgisvector

I have a vector shapefile of river networks, where each reach in the networks has its own row in the attribute table. I want to add a grouping column to the attribute table indicating which network the reach belongs to, e.g.:

a two network example:
enter image description here

and my attribute table:

enter image description here

I would like an additional column in the attribute table called "network" which would be filled with 1, 2, ….n indicating which network the given reach belongs to (in the example above "network" would be 1 or 2 since there are only two networks), it doesn't matter which network is 1 and which is 2.

Best Answer

  1. Apply a buffer around the line (network) layer and dissolve it. Convert the buffers from Multipart to single parts.

  2. Create a unique id on the buffer layer with field calculator and $id. Than add this id to the line layer with Join attributes by location (see screenshot).

Buffer layer in orange and resulting line layer in black with id added to label the network lines: enter image description here

Related Question