usdot-jpo-ode / wzdx

The Work Zone Data Exchange (WZDx) Specification aims to make harmonized work zone data provided by infrastructure owners and operators (IOOs) available for third party use, making travel on public roads safer and more efficient through ubiquitous access to data on work zone activity.
Creative Commons Zero v1.0 Universal
91 stars 62 forks source link

Including `lane_edge_reference` on every lane in a road event is confusing #66

Closed j-d-b closed 4 years ago

j-d-b commented 4 years ago

Including lane_edge_reference on every lane in a road event is confusing

Background

The lane_edge_reference property defines the start side (either left or right) for identifying the lanes within a road event by lane_number index. For example, if the lane_edge_reference is left, the lane_number 0 refers to the leftmost lane.

Issue

Including the lane_edge_reference is a simple and effective technique for clarifying the often confusing indexing of lanes. lane_edge_reference only needs to be defined once for each road event, rather than for every lane in the road event as is currently done. Defining it for every lane:

Currently (possible scenario)

{
  "road_event": {
    "total_num_lanes": 2,
    "lanes": [
      { 
        "lane_edge_reference": "left",
        "lane_number": 0
      },
      {
        "lane_edge_reference": "right",
        "lane_number": 0
     }
    ]
  }
}

Note the above is pseudocode

Solution

Moving the lane_edge_reference as a conditional field (required if using "lanes") in the road_events table would be a simple solution.

Example

{
  "road_event": {
    "total_num_lanes": 2,
    "lane_edge_reference": "left",
    "lanes": [
      { 
        "lane_number": 0
      },
      {
        "lane_number": 1
     }
    ]
  }
}

Note the above is pseudocode

j-d-b commented 4 years ago

Along with standardizing the starting lane number in #67, instead of moving lane_edge_reference to the road event entity, we could standardize this value and remove the field (i.e. require left or right as part of the spec).

This would solve the original issue and simplify the spec, as it removes an enumerated type as well as a field. Unless the option to specify the direction of count greatly lowers the effort for feed producers (please chime in), I think standardizing the counting edge reference and removing the field is the better approach to resolve this issue.

CraigMoore-Sea commented 4 years ago

This makes sense. Keeping this as an option lowers the barrier to entry since both left and right standards are in use. After we adopt a more complete standard for defining lanes we can reconsider this, likely not something that will happen in v3.

j-d-b commented 4 years ago

@CraigMoore-Sea by "this makes sense", are you referring to moving the lane_edge_reference to the road event?

CraigMoore-Sea commented 4 years ago

Yes, moving the lane_edge_reference to the road event.

Mahsa-Ettefagh commented 4 years ago

Comments received during the V3 Specification Update Subgroup meeting on 4/29/2020:

j-d-b commented 4 years ago

Resolved in #94