Skip to main content
Solved

line direction at intersections

  • May 17, 2016
  • 2 replies
  • 27 views

Forum|alt.badge.img

Hi All, i have a stormwater pipe network with flow direction (digitised direction) . Im trying to check for instances were all pipes are either all coming together or all flowing away from each other at an intersection. (like the picture attached or the opposite of the picture attached where they all flow away from the intersection. I have tried using the polylineAnalyzer (vertex output) ,also decomposing the lines to their first and last node and intersecting them but i cant quite crack it! Any help or suggestions would be greatly received. maybe im on the wrong track.. Many Thanks again, Steve

Best answer by takashi

Hi @goatboy, send all the network lines to the TopologyBuilder.

The resulting nodes have a list called "_node_angle{}.fme_arc_id" that contains IDs of connected edges. A positive ID indicates that the edge starts from the node, and a negative ID indicates that the edge ends at the node.

Then, extract min and max of the list elements with the ListRangeExtractor. If the min is positive, all the connected edges flow out from the node. If the max is negative, all the connected edges flow into the node.

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.

2 replies

takashi
Celebrity
  • Best Answer
  • May 17, 2016

Hi @goatboy, send all the network lines to the TopologyBuilder.

The resulting nodes have a list called "_node_angle{}.fme_arc_id" that contains IDs of connected edges. A positive ID indicates that the edge starts from the node, and a negative ID indicates that the edge ends at the node.

Then, extract min and max of the list elements with the ListRangeExtractor. If the min is positive, all the connected edges flow out from the node. If the max is negative, all the connected edges flow into the node.


Forum|alt.badge.img
  • Author
  • May 17, 2016

Hi @goatboy, send all the network lines to the TopologyBuilder.

The resulting nodes have a list called "_node_angle{}.fme_arc_id" that contains IDs of connected edges. A positive ID indicates that the edge starts from the node, and a negative ID indicates that the edge ends at the node.

Then, extract min and max of the list elements with the ListRangeExtractor. If the min is positive, all the connected edges flow out from the node. If the max is negative, all the connected edges flow into the node.

Thanks again @takashi, finally got there in the end with a long chain of snippers, list builders, list duplicate removers and element counters and tester....... very long winded . Your solution is much more useful and elegant (as always) . Many Thanks, Steve