How can i check, if all my lines are ahve a connection to each other. I have a net of multilines and i want check that all lines have a connection to min. 1 neighborline. Case: Can the bus drive from point 'a' to the point 'b' without any interrupt way/lines.?
Try using the NetworkTopologyCalculator. You should only have a single value of "_network_id" on the output features. If you have more than one value, you have disconnected edges.
Be aware that a connection is defined by start/end-node only, meaning that two intersecting lines (like an doesn't necessarily mean that they are topologically connected.
You can use the TopologyBuilder to force connections at all intersections. Sometimes a Snapper can also be useful as a pre-processing tool if you have some tiny gaps in your line connections.
The NetworkTopologyCalculator will assign a unique ID to every set of connected lines. You can aggregate or use the statisticsCalculator on the _network_id to get a count per network.
Alternatively you can use the topologyBuilder to identify nodes that have only one connection (dangle nodes) and then identify the lines where both nodes are dangle to get isolated lines.
For the use case of driving a bus from point a to point b you can use the ShortestPathFinder, if a route is not possible it will come out of the NoPath port.
I used a different approach: SpatialFilter set to "Filter TOUCHES Candidate" and then input the lines as both Filter and Candidate.
I used a different approach: SpatialFilter set to "Filter TOUCHES Candidate" and then input the lines as both Filter and Candidate.
Yet another approach would be to use the LIneJoiner, the join will take place only where segments are properly connecting.
Yet another approach would be to use the LIneJoiner, the join will take place only where segments are properly connecting.
Yet another approach would be to use the LIneJoiner, the join will take place only where segments are properly connecting.
@jdh "Could you explain how the Linejoiner would identify isolated segments?"
Generate a list on the LineJoiner. List with 1 element (object itself) will have not joined to anyone.
Use ListElementCounter
@jdh "Could you explain how the Linejoiner would identify isolated segments?"
Generate a list on the LineJoiner. List with 1 element (object itself) will have not joined to anyone.
Use ListElementCounter
Try using the NetworkTopologyCalculator. You should only have a single value of "_network_id" on the output features. If you have more than one value, you have disconnected edges.
Be aware that a connection is defined by start/end-node only, meaning that two intersecting lines (like an doesn't necessarily mean that they are topologically connected.
You can use the TopologyBuilder to force connections at all intersections. Sometimes a Snapper can also be useful as a pre-processing tool if you have some tiny gaps in your line connections.
I used a different approach: SpatialFilter set to "Filter TOUCHES Candidate" and then input the lines as both Filter and Candidate.
There is also the Chopper, but I suspect that's not what you want?
Try using the NetworkTopologyCalculator. You should only have a single value of "_network_id" on the output features. If you have more than one value, you have disconnected edges.
Be aware that a connection is defined by start/end-node only, meaning that two intersecting lines (like an doesn't necessarily mean that they are topologically connected.
You can use the TopologyBuilder to force connections at all intersections. Sometimes a Snapper can also be useful as a pre-processing tool if you have some tiny gaps in your line connections.
Control with ShortestPathFinder
Thx @all!