WZDx Specification v4.1
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 existingcenter-left-turn-lane
with a more generic value.
Refactoring
- Deprecate
is_moving
property on the ArrowBoard; use the newis_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 newfeed_info
property instead. - Add
is_start_position_verified
andis_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 replacebeginning_accuracy
andending_accuracy
. - Deprecate the
beginning_accuracy
andending_accuracy
properties on the WorkZoneRoadEvent object; use the newis_start_position_verified
andis_end_position_verified
properties instead. - Add
is_start_date_verified
andis_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 replacestart_date_accuracy
andend_date_accuracy
. - Deprecate the
start_date_accuracy
andend_date_accuracy
properties on the WorkZoneRoadEvent object; use the newis_start_date_verified
andis_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 newtwo-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 newrelated_road_events
property instead.
Cleanup
- Change the type of the
average_speed_kph
,volume_vph
, andoccupancy_percent
properties on the TrafficSensor and TrafficSensorLaneData object from "Integer" to "Number" - Change the allowed minimum value for
average_speed_kph
on TrafficSensorLaneData from1
to0
. - Add a
feed_info
property to the WorkZoneFeed object to replace theroad_event_feed_info
. - Expand the description of the
update_date
property on the RoadEventCoreDetails and FieldDeviceCoreDetails to clarify what the value represents. - Remove the RoadRestrictionFeed (it moved to usdot-jpo-ode/TDx).