diff --git a/README.md b/README.md
index 3b8b5689..6981fe7d 100644
--- a/README.md
+++ b/README.md
@@ -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)
diff --git a/create-feed/examples/linestring_example.geojson b/create-feed/examples/linestring_example.geojson
index 0b0ba87c..2ee88c19 100644
--- a/create-feed/examples/linestring_example.geojson
+++ b/create-feed/examples/linestring_example.geojson
@@ -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,
@@ -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"
}
]
},
@@ -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"
}
]
},
diff --git a/create-feed/examples/multipoint_example.geojson b/create-feed/examples/multipoint_example.geojson
index 6c3804d2..7fe436bf 100644
--- a/create-feed/examples/multipoint_example.geojson
+++ b/create-feed/examples/multipoint_example.geojson
@@ -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,
@@ -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"
}
]
},
@@ -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"
}
]
},
diff --git a/create-feed/schemas/wzdx_v3.0_feed.json b/create-feed/schemas/wzdx_v3.0_feed.json
index d5647933..b46cd75c 100644
--- a/create-feed/schemas/wzdx_v3.0_feed.json
+++ b/create-feed/schemas/wzdx_v3.0_feed.json
@@ -220,21 +220,23 @@
"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": {
@@ -242,10 +244,7 @@
}
}
},
- "required": ["lane_status", "lane_type"],
- "dependencies": {
- "lane_number": ["lane_edge_reference"]
- }
+ "required": ["status", "type", "order"]
},
"lane_restriction": {
"title": "Lane Restriction",
@@ -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",
@@ -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",
@@ -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": {
diff --git a/images/road_event_erd.png b/images/road_event_erd.png
index 2829096d..d7bcf8ff 100644
Binary files a/images/road_event_erd.png and b/images/road_event_erd.png differ
diff --git a/spec-content/README.md b/spec-content/README.md
index 5a940cf2..0ad32fb9 100644
--- a/spec-content/README.md
+++ b/spec-content/README.md
@@ -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)
@@ -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.
diff --git a/spec-content/data-tables/lanes.md b/spec-content/data-tables/lanes.md
index c32c6e0f..03a65657 100644
--- a/spec-content/data-tables/lanes.md
+++ b/spec-content/data-tables/lanes.md
@@ -1,18 +1,18 @@
# lanes
**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.
diff --git a/spec-content/enumerated-types/derived-from-its-standards/lane_type.md b/spec-content/enumerated-types/derived-from-its-standards/lane_type.md
index 594b1aac..6b4ce8d9 100644
--- a/spec-content/enumerated-types/derived-from-its-standards/lane_type.md
+++ b/spec-content/enumerated-types/derived-from-its-standards/lane_type.md
@@ -1,88 +1,77 @@
# Lane Type
-*Note:* LaneRoadway is imported into TMDD from SAE 2540 (ITIS Standard)
+*Note:* The LaneRoadway enumeration is imported into TMDD from SAE 2540 (ITIS Standard)
## Enumeration
-TMDD LaneRoadway Enumeration | Lane Type Enumeration | Description
+WZDx Lane Type | TMDD LaneRoadway Enumeration Value | Description
--- | --- | ---
-**all-roadways (8192)** | all | Indicates that road all lanes are open or
closed; if all lanes are closed then road is
effectively closed
-**through-lanes (8193)** | | Not used
-**left-lane (8194)** | left-lane | The left most lane (inside lane)
-**right-lane (8195)** | right-lane | The right most lane (outside lane)
-| | left-2-lanes | the two most left lanes
-| | left-3-lanes | The three most left lanes
-| | right-2-lanes | The two most right lanes
-| | right-3-lanes | The three most right lanes
-**center-lane (8196)** | | Not used
-**middle-lanes (8197)** | middle-lane | The center most lane where are a total of
an odd number of lanes
-**middle-two-lanes (8198)** | middle-two-lanes | The center most lanes where are a total
of an even number of lanes
-**right-turning-lanes (8199)** | right-turning-lane | A right lane where right turns are permissible
-**left-turning-lanes (8200)** | left-turning-lane | A left lane where left turns are permissible
-**upper-deck-lanes (8201)** | | Note used
-**lower-deck-lanes (8202)** | | Note used
-**reversible-lanes (8203)** | | Note used
-**right-exit-lanes (8204)** | right-exit-lane | The right lane where the lane provides an
egress with a ramp
-**left-exit-lanes (8205)** | left-exit-lane | The left lane where the lanes where the
lane provides an egress with a ramp
-**right-merging-lanes (8206)** | right-merging-lane | The right lane where the lane ends with a
gradual merge with the second most lane
-**left-merging-lanes (8207)** | left-merging-lane | The left lane where the lanes ends by a
gradual merge with the second most left
lane
-**right-exit-ramp (8208)** | right-exit-ramp | The (first) exit ramp with an egress on the
right in the direction of flow at an
interchange
-**right-second-exit-ramp (8209)** | right-second-exit-ramp | The second exit ramp with an egress on
the right in the direction of flow at an
interchange
-**right-entrance-ramp (8210)** | right-entrance-ramp | The (first) entrance ramp with an ingress
on the right in the direction of flow at an
interchange
-**right-second-entrance-ramp (8211)** | right-second-entrance-ramp | The second entrance ramp with an
ingress on the right in the direction of flow
at an interchange
-**left-exit_ramp (8212)** | left-exit-ramp | The (first) exit ramp with an egress on the
left in the direction of flow at an
interchange
-**left-second-exit-ramp (8213)** | left-second-exit-ramp | The second exit ramp with an egress on
the left in the direction of flow at an
interchange
-**left-entrance-ramp (8214)** | left-entrance-ramp | The (first) entrance ramp with an ingress
on the left in the direction of flow at an
interchange
-**left-second-entrance-ramp (8215)** | left-second-entrance-ramp | The second entrance ramp with an
ingress on the left in the direction of flow
at an interchange
-**escape-ramp (8216)** | | Not used
-**hard-shoulder (8217)** | | Not used
-**soft-shoulder (8218)** | | Not used
-**right-shoulder (8219)** | | Not used
-**left-shoulder (8220)** | | Not used
-**median (8221)** | | Not used
-**sidewalk (8222)** | sidewalk | The sidewalk or pedestrian way
-**highways (8223)** | | Not used
-**right-hand-parallel-lanes (8224)** | | Not used
-**left-hand-parallel-lanes (8225)** | | Not used
-**connecting-lanes (8226)** | | Not used
-**express-lanes (8227)** | | Not used
-**local-lanes (8228)** | | Not used
-**toll-lanes (8229)** | | Not used
-**electronic-toll-lanes (8230)** | | Note used
-**toll-plaza (8231)** | | Not used
-**inspection-lane (8232)** | | Not used
-**hov-lanes (8233)** | | Not used
-**bus-lanes (8234)** | | Not used
-**carpool-lanes (8235)** | | Not used
-**truck-lanes (8236)** | | Not used
-**emergency-lanes (8237)** | | Not used
-**passing-lanes (8238)** | | Not used
-**climbing-lanes (8239)** | | Not used
-**slow-lane (8240)** | | Not used
-**service-road (8240)** | | Not used
-**service-road (8241)** | | Not used
-**cycle-lane (8242)** | | Not used
-**tracks (8243)** | | Not used
-**bridge (8244)** | | Not used
-**overpass (8245)** | | Not used
-**elevated-lanes (8246)** | | Not used
-**underpass (8247)** | | Not used
-**tunnel (8248)** | | Not used
-**all-exit-lanes (8249)** | | Not used
-**all-entry-lanes (8250)** | | Not used
-**either-shoulder (8251)** | | Not used
-**shoulder-work (8252)** | | Not used
-| | bike-lane | Bike lane
-| | none | No lanes (open or closed)
-| | unknown | Unknown which lane is referenced
-| | alternating-flow-lane | Signal or flagger controls lanes flow
-**right-shoulder (8219)** | outside | The outer lane or the right most lane
-**left-shoulder (8220)** | inside | The inner lane or the left most lane
-| | both | Both inside and outside shoulders
-| | none | Not needed if field is optional; this is the default
value
-| | unknown | Unknown if shoulder is open, closed or not existing
+**left-lane** | left-lane (8194) | The left most lane
+**right-lane** | right-lane (8195) | right-lane | The right most lane
+**middle-lane** | middle-lanes (8197) | A lane that is not the rightmost or leftmost lane
+**center-lane** | center-lane (8196) | The center-most lane when the total number of lanes is odd
+**lane** | | Generic lane type, intended to be used for regular, driveable lanes where `left-lane`, `right-lane`, and `middle-lane` are unsuitable (e.g. single-lane roadway)
+**right-turning-lane** | right-turning-lanes (8199) | A right lane where right turns are permissible
+**left-turning-lane** | left-turning-lanes (8200) | A left lane where left turns are permissible
+**right-exit-lane** | right-exit-lanes (8204) | The right lane where the lane provides an egress with a ramp
+**left-exit-lane** | left-exit-lanes (8205) | The left lane where the lanes where the lane provides an egress with a ramp
+**right-merging-lane** | right-merging-lanes (8206) | The right lane where the lane ends with a gradual merge with the second most lane
+**left-merging-lane** | left-merging-lanes (8207) | The left lane where the lanes ends by a gradual merge with the second most left lane
+**right-exit-ramp** | right-exit-ramp (8208) | The (first) exit ramp with an egress on the right in the direction of flow at an interchange
+**right-second-exit-ramp** | right-second-exit-ramp (8209) | The second exit ramp with an egress on the right in the direction of flow at an interchange
+**right-entrance-ramp** | right-entrance-ramp (8210) | The (first) entrance ramp with an ingress on the right in the direction of flow at an interchange
+**right-second-entrance-ramp** | right-second-entrance-ramp (8211) | The second entrance ramp with an ingress on the right in the direction of flow at an interchange
+**left-exit-ramp** | left-exit_ramp (8212) | The (first) exit ramp with an egress on the left in the direction of flow at an interchange
+**left-second-exit-ramp** | left-second-exit-ramp (8213) | The second exit ramp with an egress on the left in the direction of flow at an interchange
+**left-entrance-ramp** | left-entrance-ramp (8214) | The (first) entrance ramp with an ingress on the left in the direction of flow at an interchange
+**left-second-entrance-ramp** | left-second-entrance-ramp (8215) | The second entrance ramp with an ingress on the left in the direction of flow at an interchange
+**sidewalk** | sidewalk (8222) | The sidewalk or pedestrian way
+**bike-lane** | cycle-lane (8242) | Bike lane
+**shoulder** | | Generic shoulder; useful when the shoulder is neither left nor right (e.g. between HOV Lane and main roadway). It can also be used in place of `left-shoulder` or `right-shoulder`.
+**right-shoulder** | right-shoulder (8219) | The outer shoulder or the right most shoulder
+**left-shoulder** | left-shoulder (8220) | The inner shoulder or the left most shoulder
+**hov-lane** | hov-lanes (8233) | A high-occupancy vehicle lane
+**alternating-flow-lane** | | Signal or flagger controls lanes flow
+**center-left-turn-lane** | | A lane in the center of a bidirectional roadway in which traffic from both directions pulls to make a left turn
+**reversible-lane** | | A lane in which traffic may travel in either direction, depending on certain conditions such as time of day
+
+The following values from the TMDD LaneRoadway Enumeration are not used in the WZDx specification:
+
+```
+through-lanes (8193)
+upper-deck-lanes (8201)
+lower-deck-lanes (8202)
+reversible-lanes (8203)
+escape-ramp (8216)
+hard-shoulder (8217)
+soft-shoulder (8218)
+median (8221)
+right-hand-parallel-lanes (8224)
+left-hand-parallel-lanes (8225)
+connecting-lanes (8226)
+express-lanes (8227)
+local-lanes (8228)
+toll-lanes (8229)
+electronic-toll-lanes (8230)
+toll-plaza (8231)
+inspection-lane (8232)
+bus-lanes (8234)
+carpool-lanes (8235)
+truck-lanes (8236)
+emergency-lanes (8237)
+passing-lanes (8238)
+climbing-lanes (8239)
+slow-lane (8240)
+service-road (8241)
+tracks (8243)
+bridge (8244)
+overpass (8245)
+elevated-lanes (8246)
+underpass (8247)
+tunnel (8248)
+```
## Used By
The **Lane Type** enumeration is used by the following fields
Field Name | Data Table
--- | ---
-lane_type | [lanes](/spec-content/data-tables/lanes.md)
\ No newline at end of file
+type | [lanes](/spec-content/data-tables/lanes.md)
diff --git a/spec-content/enumerated-types/lane_edge_reference.md b/spec-content/enumerated-types/lane_edge_reference.md
deleted file mode 100644
index aaa761ba..00000000
--- a/spec-content/enumerated-types/lane_edge_reference.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Lane Edge Reference
-
-## Enumeration
-Type | Description
---- | ---
-**left** | Lane are assigned numbers from the left side of the road.
-**right** | Lane are assigned numbers from the right side of the road.
-
-## Used By
-The **Lane Edge Reference** enumeration is used by the following fields
-
-Field Name | Data Table
---- | ---
-lane_edge_reference | [lanes](/spec-content/data-tables/lanes.md)
diff --git a/spec-content/enumerated-types/lane_status.md b/spec-content/enumerated-types/lane_status.md
index ae982d6b..adcc8a82 100644
--- a/spec-content/enumerated-types/lane_status.md
+++ b/spec-content/enumerated-types/lane_status.md
@@ -17,4 +17,4 @@ The **Road Restriction** enumeration is used by the following fields
Field Name | Data Table
--- | ---
-lane_status | [lanes](/spec-content/data-tables/lanes.md)
+status | [lanes](/spec-content/data-tables/lanes.md)