Open ambuehll opened 5 years ago
this is what the raw input looks like (unjoined):
Since the souther approach has no signal, the heuristic of tls.guess-signals fails. consequently the other three signals are treated as 'simple' and removed. Due to geometry.remove, the simple junctions are then removed as well.
If you set tls.discard-simple=false, then the tls are kept. They are treated with junctions.join and since the whole junction gets a tls if any of the constituent nodes had a tls, the new junction cluster_1776577161_4372178937_4372178939 is tls controlled.
Since the whole point of discard-simple is to avoid building traffic lights if only one arm has a controlled pedestrian crossing, i'd say things are working as intended.
However, I see the possibility of improving the guess-signals heuristic. In reality, the intersection is controlled but the southern arm is a residential road with a gate and that's why it didn't get a signal. If this is a common occurence it could be worth handling it.
Thanks for the quick reply as always! Makes sense, I forgot about geometry-remove. It is not an uncommon issue. I updated the toy network and identified several intersections where similar handling takes place. E.g. edge_id: -141096646#0 439041976#13 161464882#1 15807345#4 15807139#1
One thing that makes this more complicated than previously reported is that OSM doesn't have a standardized way of reporting tls. Sometimes it's one signal per intersection, and sometimes every signal head is marked. In addition, the signal heads are placed at their exact location, far upstream of the intersection. I see two solutions:
All in all the two solutions above are just suggestions. This is not a pressing issue since setting tls-discard-simple to true works fine for me and creates relatively little problems (most of the simple tls are indeed ped-xings).
The option tls.guess-signals does just that: It snaps signals to the next "real" downstream intersection when they are within a certain distance. However, it requires all arms to have such a signal before recognizing the intersection as controlled. Idee 2 sounds feasible though. I'm keeping this as a low priority idea.
Difference between the two figures is setting tls-discard-simple to false/true. The intersection is not a geometry-like intersection, imo. Files Sumo 1.3