-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ExtNetInfo for lane grouping #1589
Comments
what if they are both car lanes? |
|
That's the point. Two car lanes with a non-vehicle lane between at a higher vertical offset. |
That would produce an insane amount of redundant data. This information is all at the |
I have decided that managers are not an appropriate pattern for this, and so it will follow the basic design of the displaced lane detection code I have already written. |
what if there are two car lanes at different heights with no lanes in between? |
That sounds like a use case this wasn't designed to cover. Do you have any examples? |
The example where the inner lanes are above grade at the interchange seems like it would be way outside the scope of this project. The example with the lanes running alongside but below grade looks to me like it should be separate roads. |
WIP can be found here: https://github.com/Elesbaan70/TMPE/tree/feature/medians/ext-net-info |
NetInfo
objects will be paired with newExtNetInfo
objects to provide extended information. Initially this will be to group car lanes based on medians and directionality. TheExtNetInfo
objects will be generated on first request, and stored in a static instance of a backportedConcurrentDictionary
keyed on theNetInfo
reference.Each car lane will be assigned a set of flags:
Forward
andBackward
do not directly map to the vanilla lane direction. They identify a lane group's prevailing vehicle direction, and may not match a specific lane's direction in some cases.The lanes are organized in these steps:
Forward
/Backward
flags to car lanes.DisplacedInner
andDisplacedOuter
flags.DisplacedInner
norDisplacedOuter
:Express
flag.Standard
flag.Once this is done, a collection of lane group objects are created and stored in the
ExtNetInfo
object. Each lane group contains a collection of car lanes having the sameLaneGroupFlags
. Note there will always be one lane group for one-way roads, and at least two lane groups for two-way roads.Displaced Lanes
"Left" and "right" here assuming you are looking down a segment from its starting end, so that negative positions are on the left and positive positions are on the right.
Note that when the road has a simple configuration with forward lanes on the left and backward lanes on the right, these are not considered displaced lanes. They are inverted, but not displaced.
Forward Lanes
DisplacedOuter
if all of the following conditions are true:DisplacedInner
if all of the following conditions are true:Backward Lanes
Displaced backward lanes are identified by reversing the rules for displaced forward lanes.
Medians
A non-car lane is considered a
Median
if either of these criteria are met:In addition, a
Median
lane cannot overlap any car lane.The text was updated successfully, but these errors were encountered: