Skip to content
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

New/updated lane types (further LaneType refactoring) #149

Closed
j-d-b opened this issue Dec 16, 2020 · 14 comments · Fixed by #188
Closed

New/updated lane types (further LaneType refactoring) #149

j-d-b opened this issue Dec 16, 2020 · 14 comments · Fixed by #188
Assignees
Labels
Lanes This item relates to adding, removing, or refactoring how lanes are described

Comments

@j-d-b
Copy link
Collaborator

j-d-b commented Dec 16, 2020

Lanes and lane types have been a topic of discussion in the past three WZDx development cycles. Much of the effort was focused on cleaning up the existing lane types—there is still work to be done in this realm.

In addition to cleanup, v3.0 saw the inclusion of three new lane types, hov-lane, center-left-turn-lane, and reversible lane. These were added to enable functionality that was present in previous versions.

In recent subgroup discussions, many members proposed ideas for more lane types; this issue is meant to be the place to discuss those.

Some examples for consideration below:

  • exit-only-lane
  • right-turn-only-lane
  • left-turn-only-lane
@j-d-b j-d-b added Needs discussion This issue needs clarification/additional discussion or is inactive Data-content Lanes This item relates to adding, removing, or refactoring how lanes are described labels Dec 16, 2020
@semosher
Copy link

For reference, these are the enumerations TxDOT uses for it's lanes on highways.

  • MainLane
  • EntranceRamp
  • ExitRamp
  • EntranceAndExitRamp
  • ExitAndEntranceRamp
  • Shoulder
  • HOV
  • Turnaround
  • ExpressLane
  • LeftInterchangeRamp
  • RightInterchangeRamp
  • InterchangeEntranceRamp
  • HovMainLane
  • HovEntranceRamp
  • HovExitRamp
  • HovEntranceAndExitRamp
  • HovExitAndEntranceRamp
  • HovLeftInterchangeRamp
  • HovRightInterchangeRamp
  • HovInterchangeEntranceRamp

@j-d-b
Copy link
Collaborator Author

j-d-b commented Dec 21, 2020

@semosher is "Ramp" used generally, as in, it doesn't have to be a gain in elevation?

Maybe exit-ramp and entrance-ramp are better that exit-lane and entrance-lane (includes "ramps") proposed in #147.

@semosher
Copy link

semosher commented Jan 6, 2021

@j-d-b "Ramp" is used generally without the need for a change in elevation.

@j-d-b
Copy link
Collaborator Author

j-d-b commented Jan 6, 2021

@semosher that makes sense, but is different from what @davidcraig4000 preferred, which is what #147 was based on. I am curious if others have thoughts. TMDD has both right/left-exit-lane and right/left-exit-ramp

@vchandranNTAM
Copy link

As long as we have the standards across the board, we should use these lane-types. The problem is enumerated types have the risk of having that one value for a DOT that does not belong (due to their own definitions) and that will break the bank and adoption of the system will suffer.

I agree with @j-d-b - we should go with a standard if it exists (or) we should stay at a higher level that can accommodate every potential value as a "sub" value.

The additional question to be asked here is who would be interested in this data point? I can see some decisions being made based on the lane type.

@j-d-b
Copy link
Collaborator Author

j-d-b commented Jun 30, 2021

The following is copied from #147 for reference here:


Here is an incomplete proposal for even simpler lane types, for discussion:

General/Normal/Travel/Main/Vehicle (need to choose one term)
Sidewalk
Bike lane
Exit ramp
Entrance ramp
Shoulder
Parking (new functionality)
Painted median (new functionality)
Center left turn lane

Compared to the list in the above comment, this list drops the ability to tell the direction of egress/ingress of an exit/entrance ramp/lane from the lane type (maybe this doesn't matter) and drops the ability to tell ramp from lane. It also removes the turning lanes, which are incomplete and not too helpful anyway as there is a lot of functionality missing ("left turn only", "straight only", "right or left turns" etc.). As done in SAE J2735, perhaps the turns (what maneuvers are allowed) should not be part of the lane type and maybe we don't need to address that level of detail in WZDx.

Update: Painted median was chosen instead of a generic "median" as if the median is not able to be driven on, the roadway on each side of the median should be represented with a separate road event.

@j-d-b
Copy link
Collaborator Author

j-d-b commented Jul 18, 2021

What remains for discussion before I do the implementation and PR is:

  1. Is there any opposition to dropping the left and right from exit and entrance?
  2. Is there any opposition to dropping "exit lane" and just using the "exit ramp" terminology?
  3. For general, normal lanes, which lane type name is preferred (this will replace/rename lane)? Options:
    1. General
    2. Normal
    3. Travel
    4. Main
    5. Vehicle

@lynnerandolph
Copy link

Not that I'm advocating for using this, necessarily, but wanted to provide the TMDD v3 LaneRoadway type. My feeling is that TMDD v3 decided to be super specific about everything and is very complicated. But, since it's a national standard, throwing it in the mix. It also unions with a "local" version which means it can contain even more than this. I'm going to leave another, separate comment.

<xs:simpleType name="LaneRoadway">
	<xs:union>
		<xs:simpleType>
			<xs:restriction base="xs:unsignedInt">
				<xs:minInclusive value="8192"/>
				<xs:maxInclusive value="8447"/>
			</xs:restriction>
		</xs:simpleType>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="all roadways" id="_8193"/>
				<xs:enumeration value="through lanes" id="_8194"/>
				<xs:enumeration value="left lane" id="_8195"/>
				<xs:enumeration value="right lane" id="_8196"/>
				<xs:enumeration value="center lane" id="_8197"/>
				<xs:enumeration value="middle lanes" id="_8198"/>
				<xs:enumeration value="middle two lanes" id="_8199"/>
				<xs:enumeration value="right turning lanes" id="_8200"/>
				<xs:enumeration value="left turning lanes" id="_8201"/>
				<xs:enumeration value="upper deck lanes" id="_8236"/>
				<xs:enumeration value="lower deck lanes" id="_8237"/>
				<xs:enumeration value="reversible lanes" id="_8238"/>
				<xs:enumeration value="right exit lanes" id="_8239"/>
				<xs:enumeration value="left exit lanes" id="_8240"/>
				<xs:enumeration value="right merging lanes" id="_8241"/>
				<xs:enumeration value="left merging lanes" id="_8242"/>
				<xs:enumeration value="right exit ramp" id="_8202"/>
				<xs:enumeration value="right second exit ramp" id="_8243"/>
				<xs:enumeration value="right entrance ramp" id="_8203"/>
				<xs:enumeration value="right second entrance ramp" id="_8245"/>
				<xs:enumeration value="left exit ramp" id="_8204"/>
				<xs:enumeration value="left second exit ramp" id="_8244"/>
				<xs:enumeration value="left entrance ramp" id="_8205"/>
				<xs:enumeration value="left second entrance ramp" id="_8246"/>
				<xs:enumeration value="escape ramp" id="_8234"/>
				<xs:enumeration value="hard shoulder" id="_8206"/>
				<xs:enumeration value="soft shoulder" id="_8207"/>
				<xs:enumeration value="right shoulder" id="_8208"/>
				<xs:enumeration value="left shoulder" id="_8209"/>
				<xs:enumeration value="highways" id="_8235"/>
				<xs:enumeration value="right hand parallel lanes" id="_8210"/>
				<xs:enumeration value="left hand parallel lanes" id="_8211"/>
				<xs:enumeration value="connecting lanes" id="_8212"/>
				<xs:enumeration value="express lanes" id="_8213"/>
				<xs:enumeration value="local lanes" id="_8214"/>
				<xs:enumeration value="toll lanes" id="_8215"/>
				<xs:enumeration value="electronic toll lanes" id="_8216"/>
				<xs:enumeration value="toll plaza" id="_8217"/>
				<xs:enumeration value="inspection lane" id="_8218"/>
				<xs:enumeration value="hOV lanes" id="_8219"/>
				<xs:enumeration value="bus lanes" id="_8220"/>
				<xs:enumeration value="carpool lanes" id="_8221"/>
				<xs:enumeration value="truck lanes" id="_8222"/>
				<xs:enumeration value="emergency lanes" id="_8223"/>
				<xs:enumeration value="passing lanes" id="_8224"/>
				<xs:enumeration value="climbing lanes" id="_8225"/>
				<xs:enumeration value="slow lane" id="_8226"/>
				<xs:enumeration value="service road" id="_8227"/>
				<xs:enumeration value="cycle lane" id="_8228"/>
				<xs:enumeration value="bridge" id="_8229"/>
				<xs:enumeration value="overpass" id="_8230"/>
				<xs:enumeration value="elevated lanes" id="_8231"/>
				<xs:enumeration value="underpass" id="_8232"/>
				<xs:enumeration value="tunnel" id="_8233"/>
			</xs:restriction>
		</xs:simpleType>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:pattern value="\[.+\].*"/>
			</xs:restriction>
		</xs:simpleType>
		<xs:simpleType>
			<xs:restriction base="local:LaneRoadway"/>
		</xs:simpleType>
	</xs:union>

@lynnerandolph
Copy link

  1. I have no objection to dropping the left/right as there is already ordering to the lanes.
  2. I'm fine with exit ramp
  3. To me, main has a specific meaning which isn't inclusive of special travel lanes. I vote for "Travel".
1. Is there any opposition to dropping the `left` and `right` from exit and entrance?

2. Is there any opposition to dropping "exit lane" and just using the "exit ramp" terminology?

3. For general, normal lanes, which lane type name is preferred (this will replace/rename `lane`)? Options:
   1. General
   2. Normal
   3. Travel
   4. Main
   5. Vehicle

@j-d-b
Copy link
Collaborator Author

j-d-b commented Jul 19, 2021

@lynnerandolph WZDx was initially based on TMDD, see for reference the lane type enumerated type from WZDx v1.1.

WZDx LaneType has moved away from TMDD the past few releases, most notably after WZDx added the Lane object which allowed describing the lanes with more detail than just the lane type. TMDD's LaneRoadway is used in a context where the value itself is used to determine the lane's location on the roadway whereas WZDx has order. Also values like hov lanes are covered by WZDx as restrictions, which matches SAE J2735. Thus the use case of TMDD's LaneRoadway doesn't match closely enough with WZDx's LaneType.

Edit: see also #137, #94 and linked issues for more background.

@j-d-b
Copy link
Collaborator Author

j-d-b commented Jul 19, 2021

  1. I have no objection to dropping the left/right as there is already ordering to the lanes.
  1. Is there any opposition to dropping the left and right from exit and entrance?

@lynnerandolph regarding the above, the left and right that remain do not refer to the lane's position (determined by order). These directions refer to the direction of ingress/egress, see the current LaneType description for left-exit-ramp for example:

An exit ramp with an egress on the left in the direction of flow at an interchange.

I think this is a bit confusing and unnecessarily specific, which is support for dropping the left/right prefix.

@j-d-b j-d-b changed the title New lane types New/updated lane types (further LaneType refactoring) Jul 19, 2021
@yc-uw
Copy link

yc-uw commented Jul 19, 2021

What remains for discussion before I do the implementation and PR is:

1. Is there any opposition to dropping the `left` and `right` from exit and entrance?

2. Is there any opposition to dropping "exit lane" and just using the "exit ramp" terminology?

3. For general, normal lanes, which lane type name is preferred (this will replace/rename `lane`)? Options:
   1. General
   2. Normal
   3. Travel
   4. Main
   5. Vehicle

Wisconsin is reviewing this and will provide some feed backs in a couple of weeks.

@davidcraig4300
Copy link

I like General and Normal. The others (Travel, Main, Vehicle) don't really make sense to me. I believe our internal map terminology uses Normal, but i believe General would also work well.

@j-d-b j-d-b linked a pull request Aug 6, 2021 that will close this issue
@j-d-b j-d-b added Release Candidate and removed Needs discussion This issue needs clarification/additional discussion or is inactive labels Aug 6, 2021
@j-d-b
Copy link
Collaborator Author

j-d-b commented Dec 16, 2021

Implemented in #188.

@j-d-b j-d-b closed this as completed Dec 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Lanes This item relates to adding, removing, or refactoring how lanes are described
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants