I have a network(nodes=7479, edges=9033) on QGIS that I want to reduce by merging some edges and deleting some nodes that I will not use for my calculation. Below a zoom on a part of my `network. enter image description here

What I want to do is:

  1. Keep the nodes that contain information (in the example the hubs H1, H2 and H3)
  2. Merge the edges in one that doesn’t contain any needed nodes (between i1 and i2 / between H2 and i3 in the example)
  3. Don’t merge the edges when there is an interaction of more than three edges (e1 and e2 will not be merged because i2 is an interaction point to e3 as well)

Doing it manually will take me a long time and I was wondering if there is an automatic way to do it under QGIS or PostGIS (I’m a beginner in PostGIS, I just use it to perform simple calculation like finding the closest distance)


What you are describing is creating a topological networks. It sounds like you want to remove what are called "pseudo nodes". They are points (called nodes) that only link two lines (called edges) where no notable change in attribute value is occuring.

The GRASS algorithm v.clean with prune as the value for the tool parameter should do what you want. You can access v.clean at:

Processing > Toolbox > GRASS GIS > vector > v.clean

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.