Skip to main content
Solved

Dangle Nodes


parashari
Forum|alt.badge.img+2
Which transformer can we use for finding Dangled Nodes from a Road Network ? (:

Best answer by parashari

Hi,

 

 

Thanks Takashi, David and Gio once again. I have, with your help, find out the dangled lines' nodes. Attaching the model. (:

 

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

13 replies

takashi
Influencer
  • January 10, 2014
Hi again :)  I think the SpikeRemover can be used.

david_r
Celebrity
  • January 10, 2014
Hi,

 

 

if by "dangled nodes" you mean topology nodes that aren't correctly digitized, I'd try to isolate them with a NeighborFinder and a suitable tolerance.

 

 

The nodes could be the BASE features and the network lines could be the CANDIDATE. You could look for candidates withing the tolerance distance that aren't connected to the base node in question.

 

 

If your nodes and lines aren't properly referenced, send your data through a TopologyBuilder first.

 

 

David

parashari
Forum|alt.badge.img+2
  • Author
  • January 10, 2014
Hello Takashi,

 

 

Once again for yout help. !!

 

For TopologyBuilder I provided the inputs (both the Line feature & the Point feature), but that is not extracting the dangled nodes. The output is the same. ):

takashi
Influencer
  • January 10, 2014
Ah, "dangled node" means isolated point which does not touch with any network node? If so, I agree with David. I would create network nodes based on the network lines (roads) with a TopologyBuilder, and then use a NeighborFinder to find "dangled nodes" as NOT close points to any network node within certain tolerance.

gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • January 10, 2014

U can compare all end and startpoints (in network to and from points):

  • -Connect line-ouptut from topology builder  to 2 parallel featuremergers  (connect to requestor and suplier):
  • -One merger has to_node asrequestor  and from_node as suplier  and the   other featuremerger visa versa.
  • Set merger to proces duplicates, enter listname.

Not merged outputs from both the mergers should yield all dangles.

  •  
  • U cant set a tolerance here, so all not connected lines in the topology will be revealed.
  •  
  • If u need tolerance, you better extract start and end coordinates and go trough a spatial relator process as David said. (or via listbuilding and matching proces )

 

I think there are at least 4 ways to do this using transformers.

 

 

 


parashari
Forum|alt.badge.img+2
  • Author
  • January 13, 2014
Hi,

 

Thank you for the suggestions !!

 

     Actually, I have a road network which consists of some dead ends. Those road have to be extracted. The problem is that all the intersected points on the road n/w are being selected along with dangled nodes and I only need to find the dangles.

 

     I have done this work in ArcGIS (Model Builer), but it is creatinf a little problem in FME.

takashi
Influencer
  • January 13, 2014
If you send the network lines to a TopologyBuilder, nodes coming from NODE port will have a structured list attribute called "_node_angle{}". It contains the information on connected network line(s). I think you can determine whether the node is "dead end" or not by checking the number of its elements (use ListElementCounter and Tester). That is, if the number of elements of the list is equal to 1, the node is a dead end. 

parashari
Forum|alt.badge.img+2
  • Author
  • January 29, 2014
Hi,

 

 

Thanks Takashi, David and Gio once again. I have, with your help, find out the dangled lines' nodes. Attaching the model.  (:

parashari
Forum|alt.badge.img+2
  • Author
  • Best Answer
  • January 29, 2014

Hi,

 

 

Thanks Takashi, David and Gio once again. I have, with your help, find out the dangled lines' nodes. Attaching the model. (:

 


kimo
Contributor
Forum|alt.badge.img+10
  • Contributor
  • August 19, 2015
All these answers are beating about the bush! The simple answer is to calculate the Node Valence.

 

 

All dangles will have a valence of 1.

 

PseudoNodes have a valence of 2,

 

Tees have a valence of 3,

 

Junctions have a valence of 4 or more.

 

More that 4 is usually an error with collapsed lines or too large a tolerance when building the network.

 

 

To get the NodeValence you first have to have a clean network with all lines/arcs/edges broken at the junctions/nodes/intersections. Then number each segment uniquely with a counter. Then run Intersector (again) with a ListName eg reach on the output Nodes (which are really only points but fortunately only one per junction not per segment), you can add another counter to give the nodes a unique id. Then use ListElementCounter to get the Valence.

 

 

Enhancement Request - Add the Valence to the Nodes in Intersector, and add the Node ID as a From-node and To-node to the segments.

parashari
Forum|alt.badge.img+2
  • Author
  • October 5, 2015
Hi Kimo,

 

 

I have not worked on Nodealance. Can you help me with an illustrative workbench or an example.

 

Thanks :)

fmelizard
Safer
Forum|alt.badge.img+18
  • Safer
  • July 23, 2016
kimo wrote:
All these answers are beating about the bush! The simple answer is to calculate the Node Valence.

 

 

All dangles will have a valence of 1.

 

PseudoNodes have a valence of 2,

 

Tees have a valence of 3,

 

Junctions have a valence of 4 or more.

 

More that 4 is usually an error with collapsed lines or too large a tolerance when building the network.

 

 

To get the NodeValence you first have to have a clean network with all lines/arcs/edges broken at the junctions/nodes/intersections. Then number each segment uniquely with a counter. Then run Intersector (again) with a ListName eg reach on the output Nodes (which are really only points but fortunately only one per junction not per segment), you can add another counter to give the nodes a unique id. Then use ListElementCounter to get the Valence.

 

 

Enhancement Request - Add the Valence to the Nodes in Intersector, and add the Node ID as a From-node and To-node to the segments.
Hi Kimo,

 

 

I have not worked on Nodealance. Can you help me with an illustrative workbench or an example.

 

Thanks :)

Hi

use the TopologyBuilder and activate the Option "Generate List from Input Edges"

topologybuilderthis will create a list on all nodes of the touching edges. Dangle nodes will only have 1 list entry.


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