Skip to main content
Question

Detecting Branching in a Road Network System

  • January 27, 2026
  • 2 replies
  • 34 views

osmanbeg1980
Contributor
Forum|alt.badge.img+6

 

I’m currently working on a project in relation to building a major road network which can be used for future traffic surveys.  I’ve hit a snag where I’m trying to find potential way of detecting branches within the carriageways so that we can set a condition that should the branch be longer than 500 metres, then we need to separate this branch as its own features.  What I’m struggling with is trying to detect the branching by applying unique identifiers (e.g. integer values) if branching occurs within a connected groups of features, something similar to the below:

 

Essentially, I’ve built a two-way road network using the Ordnance Survey road network data and I’ve merged the road sections based on their connectivity (using the [NetworkTopologyCalculator] and [LineCombiner] transformers) and also depending on their ownership (i.e. locally owned vs centrally owned roads) and their road classification number (e.g. A303, A1(M) etc.).  Within each of these merged features we need to work out if there exists any branching/forking so that we can separate these features even further, provided our 500-metre condition is met.  Does anyone have any idea how I can do this?

 

2 replies

osmanbeg1980
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • January 27, 2026

 


DanAtSafe
Safer
Forum|alt.badge.img+22
  • Safer
  • January 27, 2026

Hi ​@osmanbeg1980 You’ll want to use a LengthCalculator first, then a TopologyBuilder where you set list attributes on the nodes.  Then use a ListElementCounter to test where the number of lines at a node is 3 (junction) or 1 (branch).  For the junctions (nodes/points) you can query the list attributes for ownership, road classification number, etc.