Skip to main content
Question

Road Attribute connectivity Auto find and fix issue

  • October 1, 2018
  • 3 replies
  • 14 views

amolparande
Forum|alt.badge.img+1

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.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

3 replies

jdh
Contributor
Forum|alt.badge.img+37
  • Contributor
  • 2002 replies
  • October 1, 2018

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.

 

 

 


amolparande
Forum|alt.badge.img+1
  • Author
  • 29 replies
  • October 1, 2018

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.

 

 

 


jdh
Contributor
Forum|alt.badge.img+37
  • Contributor
  • 2002 replies
  • October 1, 2018
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