Skip to main content
Solved

Angle between intersections


I have a road network where I have to find intersections with more than 2 streets. I used Intersector to find nodes and filtered nodes with more than 2 overlaps, eventually finding intersections with more than 2 streets. But this approach has resulted in finding undesirable intersections marked as cross in attached image.

To avoid those intersections I decided to find angle between lines. I cannot use AzimuthCalculator as I don't have a previous WB referencing this transformer. I used PolylineAnalyzer but it outputs angle between segments and not lines. Is there any way I can filter out these undesirable intersections?

Best answer by jdh

What I would do is run the data through the TopologyBuilder instead of the intersector and create a list on the nodes.

 

 

That way the features from the nodes port will have a list of all the line segments at that node, including the angle (measured counterclockwise from the positive x-axis).

Then you can test how many streets there are, and the angle between streets (by subtracting one angle from the next one in the list).

View original
Did this help you find an answer to your question?

2 replies

jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • Best Answer
  • March 10, 2020

What I would do is run the data through the TopologyBuilder instead of the intersector and create a list on the nodes.

 

 

That way the features from the nodes port will have a list of all the line segments at that node, including the angle (measured counterclockwise from the positive x-axis).

Then you can test how many streets there are, and the angle between streets (by subtracting one angle from the next one in the list).


bwn
Evangelist
Forum|alt.badge.img+26
  • Evangelist
  • March 11, 2020

The question would be, what rules do the valid intersections follow that the non-valid intersections do not follow?

It may be simply that the non-valid intersections the Streets linked to the Node all have the same Street Name.

It would be a similar approach to what @jdh suggests, but in the TopologyBuilder Node List, using ListHistogrammer to count the number of unique Street Names. If the generated Histogram List only has one entry in the list ie. StreetName{0} does have a value, but StreetName{1] does not, then the Node was at an "intersection" for street network segments that all belong to the same street, and is hence invalid.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings