Skip to main content
Solved

Find Breaks in Dual Carriageways

  • April 30, 2018
  • 4 replies
  • 11 views

I was wondering if anyone has any ideas on how I would approach the below problem.

I have a road network where there are short single carriageway centerlines of short distances between dual carriageways. I want to identify where there is a break between dual carriageways that is less than x meters. The image below shows a simple example and it is the geometry highlighted in red which I want to identify.

Best answer by jdh

There are a couple of different options.

 

 

A) You could use a spatialRelator with the single carriageway segments as the requestor and the dual carriageway as the supplier and either touches or intersects as the predicate. If the _related_candidates is 4, that would be the above case.

 

 

B) You could use a neighborFinder with the single carriageways as the Base and the Dual carriageway as the candidate, generate the close candidate list, and you can count how many elements there are.

 

 

C) You can use a topologyBuilder, and examine the nodes to see which ones contain both a single and dual carriageway, join the resultant nodes back on the edge (based on fme_arc_id) and see which single carriageway edges share both nodes with dual carriageways.

 

 

In all three cases you can use a Length Calculator to determine the segment length.
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

4 replies

jdh
Contributor
Forum|alt.badge.img+37
  • Contributor
  • 2002 replies
  • April 30, 2018
Are their any attributes that identify dual carriageways or is it strictly geometry based?

 

 


  • Author
  • 7 replies
  • April 30, 2018
Are their any attributes that identify dual carriageways or is it strictly geometry based?

 

 

Yes there are attributes that identify which geometry is single versus dual carriageway.

 

 


jdh
Contributor
Forum|alt.badge.img+37
  • Contributor
  • 2002 replies
  • Best Answer
  • April 30, 2018

There are a couple of different options.

 

 

A) You could use a spatialRelator with the single carriageway segments as the requestor and the dual carriageway as the supplier and either touches or intersects as the predicate. If the _related_candidates is 4, that would be the above case.

 

 

B) You could use a neighborFinder with the single carriageways as the Base and the Dual carriageway as the candidate, generate the close candidate list, and you can count how many elements there are.

 

 

C) You can use a topologyBuilder, and examine the nodes to see which ones contain both a single and dual carriageway, join the resultant nodes back on the edge (based on fme_arc_id) and see which single carriageway edges share both nodes with dual carriageways.

 

 

In all three cases you can use a Length Calculator to determine the segment length.

  • Author
  • 7 replies
  • May 1, 2018

There are a couple of different options.

 

 

A) You could use a spatialRelator with the single carriageway segments as the requestor and the dual carriageway as the supplier and either touches or intersects as the predicate. If the _related_candidates is 4, that would be the above case.

 

 

B) You could use a neighborFinder with the single carriageways as the Base and the Dual carriageway as the candidate, generate the close candidate list, and you can count how many elements there are.

 

 

C) You can use a topologyBuilder, and examine the nodes to see which ones contain both a single and dual carriageway, join the resultant nodes back on the edge (based on fme_arc_id) and see which single carriageway edges share both nodes with dual carriageways.

 

 

In all three cases you can use a Length Calculator to determine the segment length.
Thanks! Option A got me started on the correct path.