Question

Attributing lines based on angle to attribute as left or right turn


I have a file of turn restrictions, however, they are not labelled as no left or right etc. What I want to do is to calculate the angles and then use this to attribute the restrictions as either left, right or u-turn. In the attributes I have a field indicating the start and end line segments. So ideally I will take the start segment and then determine based on the end segment the type of restriction it is.

I guess I will need to use the Azimuth Calculator or the Topology Builder, but I am not sure how to approach this problem.


4 replies

Userlevel 1
Badge +21

Can you post an example of your data?

Badge +10

You could use the NeighborFinder, which also has an option for 'Candidates Only' to find the nearest candidates. In the results an attribute containing the angle towards the other features is added as a result. Maybe that will help?

There is also a LeftRightSpatialCalculator, but for that case you will need to input Base and Candidate features and I do not know how well that works for you in this case.

Can you post an example of your data?

 

This is how the data looks. Each segment has its own ID and there is also an ID for the composition of segments that make up the complete turn restriction. The sequence column indicates what is the start segment (1) and the end segment (3).

 

 

For the composition ID I need to attribute it as a no left, right or u-turn, based on the start and end locations.

 

 

The actual data is polylines.

 

 

 

Badge +22

I would probably use the topologyBuilder and analyse the node_angle{}_fme_arc_angle to determine what the angle between the lines are.

Reply