Question

TopologyBuilder not ordering nodes correctly

  • 29 December 2022
  • 6 replies
  • 6 views

I have a network that is just input lines from shapefiles.

All line ends are snapped together correctly. The network has an origin point that is a point feature shapefile.

I want to be able to run the TopologyBuilder and assign that origin point as node 1. From there, each subsequent intersection of the lines where a new node is created should be incremental from the origin Node 1.

 

In my attached picture you can see the top part of the image is what I want.TopologyBuilder IssuesThe bottom section of the image is what comes out.

In the TopologyBuilder I am using end nodes only, so there is no overlapping intersections creating false nodes.

 

I have tried to plug the network into the NetworkFlowOrientor and it does not do anything if I then rebuild the topology after it.

 

Does anyone have any ideas as to what could be causing this, or how to set an origin node to build a topology on?

 

*As a side note, I can identify the origin node ID and from there each line segment has the from and to, however I do not know how to order the results using the from and to attributes given that are out of order. Any suggestions on this as well?

 

For instance, if the origin node is 5, and a line segment is from 5 to 1, and then the next line segment should be from 1 to 2.

 

Cheers,


6 replies

Userlevel 2
Badge +11

Hi @tmatiques​ Try the NetworkCostCalculator. This will return measures starting with 0. Break the lines into points, remove duplicates, sort by the measure and recount:

imagewhich produces

image

Hey Dan,

 

Thanks for the quick response. I ran through your steps with my network and get the same result (albeit a different set of lines.

However, this is just marking the nodes based on the shortest distance to the origin node.

What I need for instance is the following:

node_order_issueOr if that is not possible, a way to order the edges based on the from and to. Taking your output the records would look like this:

Edge1 - From 1 - To 2

Edge2 - From 2 - To 5

Edge3 - From 5 - To 9

Edge4 - From 5 - To 10

Edge5 - From 1 - To 4

Edge6 - From 1 - To 3

Edge7 - From 3 - To 7

Edge8 - From 7 - To 8

Edge9 - From 3 - To 6

Edge10 - From 6 to 11

 

If I can sort like this, I can then apply a counter and label the nodes correctly.

 

Here is a picture of my actual network just for reference:

my_network

Userlevel 2
Badge +11

I don't know what the logic would be to assign edges as you've described. How should the edges be ordered with your "actual network"?

I will try my best to explain the logic. I have attached another picture, this is basically a manually created straight line diagram to represent fibre cable installation routes and the associated nodes that customers connect to. You will notice that from the origin node (redish block) each cable leg has the nodes labelled sequentially (U001>U002, etc). Nodes labelled with an "S001" are not part of the sequential labels.

network_sld 

How the legs get labelled a or b or c doesn't really matter, what matters is for each cable leg, I am able to number the nodes sequentially so I can create the diagram pictured above.

We currently make these manually.

 

 

Userlevel 4
Badge +30

Hi @tmatiques​ Try the NetworkCostCalculator. This will return measures starting with 0. Break the lines into points, remove duplicates, sort by the measure and recount:

imagewhich produces

image

Great @danatsafe​ 

@tmatiques​ did you sorted this out?

Reply