Skip to main content

Hello ,

I stuck in one situation and need help

I have road geometry having multiple segment but if see the attribute table we can separate group by based on UID field (A1,A2)

With UID we have field called ACC in table ideally A1 & A2 should have unique value based on connectivity

A1 should have 2 & A3 should have 1 but we cannot hardcode it. every time value would be change

We have discontinuity based on ACC value I need find the disconnected edges and copy the ACC value attribute of both end connected in

example :-if the both side ACC value is same then update the same for in between edges but, if the ACC value is different on both side that time I need to find those situations

Can any one help me how can I get this done ?

Please find attached Shapefile for reference as well.

If i understand your needs correctly you need to identify the places where for a given UID, the ACC on both sides of an (psuedo) intersection are different.

 

 

You can do that with a TopologyBuilder, group by UID, Propagate All Attributes from Input Yes.

 

The Node output port will have an attribute list with the attributes from the input lines (ex. _node_angle{}.ACC).

 

 

If you only care about pseudo intersections (only two lines at the intersection) you can test if the length of the list is 2 and _node_angle{0}.ACC=_node_angle{1}.ACC.

 

 

If you have multiple edges at an intersection, you can use a listHistogrammer on _node_angle{}.ACC and then count how many elements are in the histogram, if it's more than 1 then not all edges have the same ACC value at that node.

 

 

 


If i understand your needs correctly you need to identify the places where for a given UID, the ACC on both sides of an (psuedo) intersection are different.

 

 

You can do that with a TopologyBuilder, group by UID, Propagate All Attributes from Input Yes.

 

The Node output port will have an attribute list with the attributes from the input lines (ex. _node_angle{}.ACC).

 

 

If you only care about pseudo intersections (only two lines at the intersection) you can test if the length of the list is 2 and _node_angle{0}.ACC=_node_angle{1}.ACC.

 

 

If you have multiple edges at an intersection, you can use a listHistogrammer on _node_angle{}.ACC and then count how many elements are in the histogram, if it's more than 1 then not all edges have the same ACC value at that node.

 

 

 

Thank you jdh,

 

 

would it be possible to make small WB for more explanation ?

 

following are the requirement.

 

 

I want to I identify two scenario.

 

1. if the both side of the disconnected edges attributes are same the identify those edges and update the chine of road edges.

 

2. if both of the side different attribute the export those situations into new file for more analysis.

 

 

 


Thank you jdh,

 

 

would it be possible to make small WB for more explanation ?

 

following are the requirement.

 

 

I want to I identify two scenario.

 

1. if the both side of the disconnected edges attributes are same the identify those edges and update the chine of road edges.

 

2. if both of the side different attribute the export those situations into new file for more analysis.

 

 

 

Here's an example, it's a little more elaborate, in that in combines segments that have the same ACC value, so that a run of no value ACC will be treated together.

 

 

You'll need to expand on the testing and dealing with various scenarios.

 

 

roadconnectivity.fmwt