Question

crossing line splitted when i use topology builder


Badge +13

 

 

Fme version 2018

 

I have in the same city two problems .

if i use topology builder Assume clean data no group by id

then use network topology builder ,it works good in the first case for first image

 

if i used topology builder clean data yes it works good in the second case and it will give me as output one line that i want but for first image it has no intersection point so when i use network topology calculator ,the network id will not be equal for first image even i tried to use snapper for the line it did not work with me

i did too many tries with intersector ,it give me good result at first image but for the second no,it split this line to many parts .

 

then i did topology builder assume data yes as first ,it gives me good result as second image and it consider that as one line that is right no splitting but for first not it assume the line down has no intersection with the line up side

 

 

 

could some one help me what should ,my data is clean and properly noded at the beginning of line and end of each line but the problem the line in second picture it splitted when i use topology builder assume data no

and i worked too much around but without do the good result for both of them

i used also snapper befor it and it did not give me what i need or destroy another lines

first image to be correct noded and the second line not split even i used id of each line group by in topology builder assume data no but it does not give me best result that i need .

i want to get the conecting lines by network topologyy calculator at the end but because of splitting lines ,it gives me wrong result

Thanks for any help


6 replies

Badge +3

@gogopotter90

To prevent crossing lines getting split (like, bridges and tunnels) you need to id them as such.

Build the network after filtering them out, using topologybuilder with network is not cean.

Then do another topology builder where you feed the previously built one and the previously filtered out objects, but now you say it is clean.

This wil prevent TP builder (actualy Beavis his favorite transformer!!) entering nodes at bridges,tunnels etc.

Badge +2

@gogopotter90 "my data is clean and properly noded at the beginning of line and end of each line "

If your data is clean then us the TopologyBuilder Advanced Parameters > Generate From = End Nodes.

This should discourage TopologyBuilder from adding new nodes where lines cross

Badge +13

@gogopotter90 "my data is clean and properly noded at the beginning of line and end of each line "

If your data is clean then us the TopologyBuilder Advanced Parameters > Generate From = End Nodes.

This should discourage TopologyBuilder from adding new nodes where lines cross

i forgot to say i have FME version 2018 ,it does not have generate from

 

 

when i use clean data yes ithis is the result as picture that what i need but i found problem in another place

no intersection here .

thanks for help in advance

 

Userlevel 2
Badge +17

Hi @gogopotter90, try this procedure.

  1. Chopper (Mode: By Vertex, Maximum Vertices: 2): Split every line into individual segments.
  2. NetworkTopologyCalculator: Enter all the lines output from both Chopped port and Untouched port of the Chpper, add network ID for each set of topologically connected lines.
  3. LineCombiner (Group By: _network_id): Combine line segments between two network nodes (three or more lines are connected) if pseudo nodes (only two lines are connected) aren't desired.

If the end node of the vertical line doesn't exactly match the vertex on the highlighted line shown in the screenshot below, consider using Snapper (Snapping Type: Vertex Snapping) beforehand.

Badge +13

Hi @gogopotter90, try this procedure.

  1. Chopper (Mode: By Vertex, Maximum Vertices: 2): Split every line into individual segments.
  2. NetworkTopologyCalculator: Enter all the lines output from both Chopped port and Untouched port of the Chpper, add network ID for each set of topologically connected lines.
  3. LineCombiner (Group By: _network_id): Combine line segments between two network nodes (three or more lines are connected) if pseudo nodes (only two lines are connected) aren't desired.

If the end node of the vertical line doesn't exactly match the vertex on the highlighted line shown in the screenshot below, consider using Snapper (Snapping Type: Vertex Snapping) beforehand.

it is working perfect.thanks alot

Badge +13

@gogopotter90

To prevent crossing lines getting split (like, bridges and tunnels) you need to id them as such.

Build the network after filtering them out, using topologybuilder with network is not cean.

Then do another topology builder where you feed the previously built one and the previously filtered out objects, but now you say it is clean.

This wil prevent TP builder (actualy Beavis his favorite transformer!!) entering nodes at bridges,tunnels etc.

 

i wanted to create nodes by topology builder from to node so i tried ur method again and it works great for crossing lines .

but what should i do when i have lines like this

 

 

 

i did the same method for crossing lines but filter overlaps candidate

and topology builder clean yes ,but it creates intersection point that i do not need as split the line in new point

 

could u advice me ,what should i do ?

 

Reply