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

Clarify lane types and usage of lanes table #94

Merged
merged 29 commits into from
Sep 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6f4957a
Clarify each lane entry repesents a single lane
j-d-b May 29, 2020
ecee2f9
Remove comment about not numbering shoulders
j-d-b May 29, 2020
0591fa5
Remove plural lane types, cleanup
j-d-b May 29, 2020
b23c502
Update lane types enumeration in JSON schema
j-d-b May 29, 2020
b4a1d53
Require lane_number
j-d-b May 29, 2020
4034459
Update middle-lane description
j-d-b May 29, 2020
0e28ffb
Typo, remove 'center'
j-d-b May 29, 2020
687a8c9
Remove 'middle-two-lanes' from JSON schema
j-d-b May 29, 2020
5b60635
Merge branch 'v3.0' into clarify-lane-types
j-d-b Jun 3, 2020
6ae88aa
Move schema changes to draft v3.0
j-d-b Jun 3, 2020
bbf8033
Correct TMDD ID
j-d-b Jul 1, 2020
232f6e1
Add 'bidirectional' lane type
j-d-b Jul 1, 2020
1b78aaa
Remove bidirectional and add center-left-turn-lane and reversible-lane
j-d-b Jul 9, 2020
2f117cf
Add hov-lane
j-d-b Jul 9, 2020
16df4e1
Change total_num_lanes conformance to conditional
j-d-b Jul 9, 2020
c469b19
Merge branch 'master' into clarify-lane-types
j-d-b Aug 7, 2020
f830398
Merge branch 'master' into clarify-lane-types
j-d-b Aug 7, 2020
1c5b174
No lane edge reference; start from the left
j-d-b Aug 7, 2020
f2c71e3
Leave flexibility in total_num_lanes
j-d-b Aug 7, 2020
68dc0a2
Update lane types
j-d-b Aug 7, 2020
5f72b28
Add order and remove prefixes from type, status, restrictions
j-d-b Aug 7, 2020
ed6234d
Add center lane type
j-d-b Aug 7, 2020
09a95bc
Update examples to use order
j-d-b Aug 7, 2020
a9d8723
Merge branch 'v3.0' into clarify-lane-types
j-d-b Aug 12, 2020
fcfe536
Update enums notes for v3.0 changes
j-d-b Aug 12, 2020
2d2f6a9
Fix table rendering
j-d-b Aug 12, 2020
102e972
Update lane_number and order types to positive integer
j-d-b Aug 12, 2020
f4efb82
Update lane_number description
j-d-b Aug 12, 2020
98c5ca7
Update lane_number minimum value to 1 in schema
j-d-b Aug 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ A third directory, [`images`](/images) contains images that are referenced throu
- [**Enumerated Types**](/spec-content/enumerated-types)
- [Event Status](/spec-content/enumerated-types/event_status.md)
- [Geometry Type](/spec-content/enumerated-types/geometry_type.md)
- [Lane Edge Reference](/spec-content/enumerated-types/lane_edge_reference.md)
- [Lane Status](/spec-content/enumerated-types/lane_status.md)
- [Road Restriction](/spec-content/enumerated-types/road_restriction.md)
- [Spatial Verification](/spec-content/enumerated-types/spatial_verification.md)
Expand Down
34 changes: 17 additions & 17 deletions create-feed/examples/linestring_example.geojson
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@
],
"lanes": [
{
"lane_edge_reference": "left",
"order": 1,
"lane_number": 1,
"lane_status": "open",
"lane_type": "left-lane",
"lane_restrictions": [
"status": "open",
"type": "left-lane",
"restrictions": [
{
"restriction_type": "reduced-width",
"restriction_value": 10,
Expand All @@ -55,16 +55,16 @@
]
},
{
"lane_edge_reference": "left",
"order": 2,
"lane_number": 2,
"lane_status": "closed",
"lane_type": "middle-lane"
"status": "closed",
"type": "middle-lane"
},
{
"lane_edge_reference": "left",
"order": 3,
"lane_number": 3,
"lane_status": "closed",
"lane_type": "right-lane"
"status": "closed",
"type": "right-lane"
}
]
},
Expand Down Expand Up @@ -270,21 +270,21 @@
],
"lanes": [
{
"lane_edge_reference": "left",
"order": 1,
"lane_number": 1,
"lane_status": "open",
"lane_type": "left-lane",
"lane_restrictions": [
"status": "open",
"type": "left-lane",
"restrictions": [
{
"restriction_type": "no-trucks"
}
]
},
{
"lane_edge_reference": "left",
"order": 2,
"lane_number": 2,
"lane_status": "open",
"lane_type": "right-lane"
"status": "open",
"type": "right-lane"
}
]
},
Expand Down
34 changes: 17 additions & 17 deletions create-feed/examples/multipoint_example.geojson
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@
],
"lanes": [
{
"lane_edge_reference": "left",
"order": 1,
"lane_number": 1,
"lane_status": "open",
"lane_type": "left-lane",
"lane_restrictions": [
"status": "open",
"type": "left-lane",
"restrictions": [
{
"restriction_type": "reduced-width",
"restriction_value": 10,
Expand All @@ -55,16 +55,16 @@
]
},
{
"lane_edge_reference": "left",
"order": 2,
"lane_number": 2,
"lane_status": "closed",
"lane_type": "middle-lane"
"status": "closed",
"type": "middle-lane"
},
{
"lane_edge_reference": "left",
"order": 3,
"lane_number": 3,
"lane_status": "closed",
"lane_type": "right-lane"
"status": "closed",
"type": "right-lane"
}
]
},
Expand Down Expand Up @@ -118,21 +118,21 @@
],
"lanes": [
{
"lane_edge_reference": "left",
"order": 1,
"lane_number": 1,
"lane_status": "open",
"lane_type": "left-lane",
"lane_restrictions": [
"status": "open",
"type": "left-lane",
"restrictions": [
{
"restriction_type": "no-trucks"
}
]
},
{
"lane_edge_reference": "left",
"order": 2,
"lane_number": 2,
"lane_status": "open",
"lane_type": "right-lane"
"status": "open",
"type": "right-lane"
}
]
},
Expand Down
47 changes: 19 additions & 28 deletions create-feed/schemas/wzdx_v3.0_feed.json
Original file line number Diff line number Diff line change
Expand Up @@ -220,32 +220,31 @@
"description": "An individual lane within a road event",
"type": "object",
"properties": {
"lane_status": {
"order": {
"description": "The position (index) of the lane in sequence on the roadway, where '1' represents the left-most lane",
"type": "integer",
"minimum": 1
},
"status": {
"$ref": "#/definitions/lane_status"
},
"lane_type": {
"type": {
"$ref": "#/definitions/lane_type"
},
"lane_number": {
"description": "The number (index) assigned to the lane (not including shoulders)",
"description": "The number assigned to the lane to help identify its position. Flexible, but usually used for regular, driveable lanes",
"type": "integer",
"minimum": 0
},
"lane_edge_reference": {
"$ref": "#/definitions/lane_edge_reference"
"minimum": 1
},
"lane_restrictions": {
"restrictions": {
"description": "A list of restrictions specific to the lane",
"type": "array",
"items": {
"$ref": "#/definitions/lane_restriction"
}
}
},
"required": ["lane_status", "lane_type"],
"dependencies": {
"lane_number": ["lane_edge_reference"]
}
"required": ["status", "type", "order"]
},
"lane_restriction": {
"title": "Lane Restriction",
Expand Down Expand Up @@ -326,11 +325,6 @@
"roadway-creation"
]
},
"lane_edge_reference": {
"title": "Lane Edge Reference Enumerated Type",
"description": "The roadside edge from which lane numbers are assigned",
"enum": ["left", "right"]
},
"lane_status": {
"title": "Lane Status Enumerated Type",
"description": "The status of the lane for the traveling public",
Expand All @@ -340,15 +334,11 @@
"title": "Lane Type Enumerated Type",
"description": "An indication of the type of lane or shoulder",
"enum": [
"all",
"left-lane",
"right-lane",
"left-2-lanes",
"right-2-lanes",
"left-3-lanes",
"right-3-lanes",
"middle-lane",
"middle-two-lanes",
"center-lane",
"lane",
"right-turning-lane",
"left-turning-lane",
"right-exit-lane",
Expand All @@ -365,12 +355,13 @@
"left-second-entrance-ramp",
"sidewalk",
"bike-lane",
"none",
"unknown",
"alternating-flow-lane",
"outside",
"inside",
"both"
"right-shoulder",
"left-shoulder",
"shoulder",
"hov-lane",
"reversible-lane",
"center-left-turn-lane"
]
},
"lane_restriction_unit": {
Expand Down
Binary file modified images/road_event_erd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 2 additions & 4 deletions spec-content/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ This section provides a list of all enumerated types uses in the WZDx specificat

- [Event Status](/spec-content/enumerated-types/event_status.md)
- [Geometry Type](/spec-content/enumerated-types/geometry_type.md)
- [Lane Edge Reference](/spec-content/enumerated-types/lane_edge_reference.md)
- [Lane Status](/spec-content/enumerated-types/lane_status.md)
- [Lane Restriction Unit](/spec-content/enumerated-types/lane_restriction_unit.md)
- [Road Restriction](/spec-content/enumerated-types/road_restriction.md)
Expand All @@ -78,8 +77,7 @@ Field Name | Table | Enumerated Type | Notes
`vehicle_impact` | [road_events](/spec-content/data-tables/road_events.md) | [Vehicle Impact](/spec-content/enumerated-types/vehicle_impact.md) | Enumeration created in WZDx v2.0
`restrictions` | [road_events](/spec-content/data-tables/road_events.md) | [Road Restriction](/spec-content/enumerated-types/road_restriction.md) | Enumeration created in WZDx v1.0
`type_name` | [types_of_work](/spec-content/data-tables/types_of_work.md) | [Work Type Name](/spec-content/enumerated-types/work_type_name.md) | Enumeration created in WZDx v2.0
`lane_edge_reference` | [lanes](/spec-content/data-tables/lanes.md) | [Lane Edge Reference](/spec-content/enumerated-types/lane_edge_reference.md) | Enumeration created in WZDx v2.0
`lane_status` | [lanes](/spec-content/data-tables/lanes.md) | [Lane Status](/spec-content/enumerated-types/lane_status.md) | Enumeration created in WZDx v2.0
`lane_type` | [lanes](/spec-content/data-tables/lanes.md) | [Lane Type](/spec-content/enumerated-types/derived-from-its-standards/lane_type.md) | Enumeration adapted from TMDD LaneRoadway
`status` | [lanes](/spec-content/data-tables/lanes.md) | [Lane Status](/spec-content/enumerated-types/lane_status.md) | Enumeration created in WZDx v2.0
`type` | [lanes](/spec-content/data-tables/lanes.md) | [Lane Type](/spec-content/enumerated-types/derived-from-its-standards/lane_type.md) | Enumeration adapted from TMDD LaneRoadway, updated in WZDx v3.0
`restriction_type` | [lane_restrictions](/spec-content/data-tables/lane_restrictions.md) | [Road Restriction](/spec-content/enumerated-types/road_restriction.md) | Individual lane restrictions | Enumeration created in WZDx v1.0
`restriction_units` | [lane_restrictions](/spec-content/data-tables/lane_restrictions.md) | [Lane Restriction Unit](/spec-content/enumerated-types/lane_restriction_unit.md) | This is an intial list, created in WZDx v2.0, and is not intended to be complete. More values will be added as needed.
18 changes: 9 additions & 9 deletions spec-content/data-tables/lanes.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# lanes
j-d-b marked this conversation as resolved.
Show resolved Hide resolved
**Optional**

This table identifies and describes individual lanes within a road event.
This table identifies and describes individual lanes within a road event. Each entry in this table represents a single lane.

This table is related to the [road_events](/spec-content/data-tables/road_events.md) table by the foreign key road_event_id. For every record in the road_event table there may exist one or more record(s) in the lanes table.

This table is related to the [lane_restrictions](/spec-content/data-tables/lane_restrictions.md) table. For each record in the lanes table there may exist one or more records in the lane_restrictions table. The lane_id field acts as the foreign key in the lanes table.

## Lanes Table Structure
Data Name|Data Type|Description|Conformance|Notes
-|-|-|-|-|
lane_id|ID|Identifies the lane_info record|Required|Primary key
[road_event_id](/data-tables/road_events.md)|ID|Identifies the road event to which a lane information is related.|Required|Foreign key
lane_edge_reference|Enumeration; Text|The roadside edge from which lanes are assigned numbers.|Conditional: required if lane_number is not null|Counting begins from the edge of the improved surface. See [Lane Edge Reference Enumerated Type](/spec-content/enumerated-types/lane_edge_reference.md)
lane_number|Non-negative Integer|The number assigned to a lane (not including shoulders)|Optional|Assigned by counting from right or left edge of the improved surface. Counting begins from the edge indicated in the lane_edge_reference field. Useful for text to voice translation.
lane_status|Enumeration; Text|Status of the lane for the traveling public|Required|Allowed values: open, closed, shift-left, shift-right, merge-right, merge-left, alternating-one-way. See [Lane Status Enumerated Type](/spec-content/enumerated-types/lane_status.md)
lane_type|Enumeration; Text|An indication of the type of lane or shoulder|Required|See [Lane Type Enumerated Type](/spec-content/enumerated-types/derived-from-its-standards/lane_type.md)
Data Name | Data Type | Description | Conformance | Notes
--- | --- | --- | --- | ---
lane_id | ID | Identifies the lane_info record | Required | Primary key
[road_event_id](/spec-content/data-tables/road_events.md) | ID | Identifies the road event to which a lane information is related. | Required | Foreign key
order | Positive Integer | The position of a lane in sequence on the roadway. This value is used as an index to indicate the order of all WZDx lanes provided for a road event. | Required | A value of `1` must represent the **left-most** lane and an increase in 1 must represent moving a single lane over from the **left**.
type | Enumeration; Text | An indication of the type of lane or shoulder | Required | See [Lane Type Enumerated Type](/spec-content/enumerated-types/derived-from-its-standards/lane_type.md)
status | Enumeration; Text | Status of the lane for the traveling public | Required | See [Lane Status Enumerated Type](/spec-content/enumerated-types/lane_status.md)
lane_number | Positive Integer | The number assigned to the lane to help identify its position. Flexible, but usually used for regular, driveable lanes. | Optional | Assigned by counting from the **left** edge of the improved surface. Useful for text to voice translation.
Loading