Skip to content

WZDx Specification v4.1

Compare
Choose a tag to compare
@j-d-b j-d-b released this 19 Sep 14:43
· 12 commits to main since this release
5952f21

Released September 2022

Changes for the v4.1 release involve new features and cleaning up and redesigning existing functionality without breaking backwards compatibility. Thus, several enumerated type values and object properties were deprecated rather than removed. Most if not all of these deprecated values will be removed in the next major release.

A noteworthy documentation change introduced along with the v4.1 specification changes are that the two feeds that WZDx defines are renamed for clarity:

  • Rename the "SwzDeviceFeed" to "DeviceFeed" or "WZDx Device Feed"
  • Rename the "WZDxFeed" to "WorkZoneFeed" or "WZDx Work Zone Feed"

New Functionality

  • Add is_moving boolean property to the FieldDeviceCoreDetails to allow indicating if any field device is moving as part of a mobile operation.
  • Add road_direction property to the FieldDeviceCoreDetails to allow providing the direction of the roadway that a field device is associated with.
  • Recommend using Universally Unique Identifiers (UUID) for the id property of the RoadEventFeature, FieldDeviceFeature, and FeedDataSource, noting that a UUID may be required in the next major release.
  • Add name property to RoadEventCoreDetails to allow providing a human-friendly name for a road event.
  • Add the following values to the MarkedLocationType enumerated type:
    • personal-device
    • ramp-closure
    • road-closure
    • delineator
  • Add the following values to the Direction enumerated type:
    • undefined
    • unknown
  • Add no-passing to the RestrictionType enumerated type.
  • Add a sign_text property to the FlashingBeacon object.
  • Add a TrafficSignal object to allow represent temporary traffic signals in a WZDx Device Feed.
  • Add two-way-center-turn-lane to the LaneType enumerated type to replace the existing center-left-turn-lane with a more generic value.

Refactoring

  • Deprecate is_moving property on the ArrowBoard; use the new is_moving on the FieldDeviceCoreDetails instead.
  • Change the conformance of the road_event_id property on the TrafficSensorLaneData from "Required" to "Optional" to allow providing lane-level data without a defined road event.
  • Deprecate the road_event_feed_info property on the WorkZoneFeed object; use the new feed_info property instead.
  • Add is_start_position_verified and is_end_position_verified boolean properties to the WorkZoneRoadEvent to allow indicating if the start and end positions are verified and clarify what verified means; these properties replace beginning_accuracy and ending_accuracy.
  • Deprecate the beginning_accuracy and ending_accuracy properties on the WorkZoneRoadEvent object; use the new is_start_position_verified and is_end_position_verified properties instead.
  • Add is_start_date_verified and is_end_date_verified boolean properties to the WorkZoneRoadEvent to allow indicating if the start and end date and times are verified and clarify what verified means; these properties replace start_date_accuracy and end_date_accuracy.
  • Deprecate the start_date_accuracy and end_date_accuracy properties on the WorkZoneRoadEvent object; use the new is_start_date_verified and is_end_date_verified properties instead.
  • Deprecate the event_status property on the WorkZoneRoadEvent object.
  • Change the conformance of the road_names property on the FieldDeviceCoreDetails from "Required" to "Optional".
  • Deprecate the traffic-signal value in the MarkedLocationType enumerated type; use the new TrafficSignal object instead.
  • Deprecate the center-left-turn-lane value in the LaneType enumerated type; use the new two-way-center-turn-lane instead.
  • Add a related_road_events property (and new supporting object RelatedRoadEvent and enumerated type RelatedRoadEventType) to the RoadEventCoreDetails to allow explicitly defining relationships/connections between road events; this replaces the Relationship object concept.
  • Deprecate the relationship property on the RoadEventCoreDetails; use the new related_road_events property instead.

Cleanup