The WZDx specification describes the content and structure of a WZDx GeoJSON document. It defines distinct entities called objects which contain the data content (called fields or properties) of each entity. The structure of and relationship between objects describes how the GeoJSON output of a WZDx feed looks. Objects are found in the objects directory.
The value of some properties of an object are restricted to a defined set of values. These enumerations are found in the enumerated-types directory.
The WZDx specification describes the structure and content of a GeoJSON document, which can be called an instance of a "WZDx Feed". Each WZDx GeoJSON document has one root object, a WZDxFeed object, with many properties and nested objects. Each distinct object is described in its own human-readable markdown file within the objects directory, as well as within the JSON schema in /create-feed/schemas/
. An object represents a distinct entity, such as a road event, a lane, or information about a feed. All pieces of data that describe that entity are included as properties of the object.
Each object is described by a table of properties, which are each defined by the following characteristics:
- Name - The property name.
- Type - The type of data being stored. This can be one of the JSON primative types (only
String
,Number
,Array
are used),Integer
, as defined in the JSON schema validation specification, a WZDx Enumerated Type, a WZDx Object, or a GeoJSON Object. - Description - A description of the value of the property.
- Conformance - An indication of the requirement for including the property in a WZDx GeoJSON document. There are three categories of conformance:
- Required - The property must be included
- Optional - The property may be ommitted
- Conditional - The property's inclusion depends on the inclusion or value of a separate property
- Notes - Additional comments, guidance, notes for future consideration, or examples.
This section provides a tabular list of all objects used in the WZDx specification.
Object | Description |
---|---|
Lane | An individual lane within a road event. |
LaneRestriction | A lane-level restriction, including type and value. |
Relationship | Identification of both sequential and hierarchical relationships between road events and other entities. |
RoadEvent | Information that describes where, when, and what activity is taking place along a road segment. |
RoadEventDataSource | Information about a specific data source used to build a work zone data feed. |
RoadEventFeature | The GeoJSON Feature container object for a WZDx RoadEvent . |
RoadEventFeedInfo | WZDx feed header information such as metadata, contact information, and data sources. |
TypeOfWork | A description of the type of work being done in a road event and an indication of if that work will result in an architectural change to the roadway. |
WZDxFeed | The root (highest-level) object of a WZDx feed GeoJSON document. |
The object diagram below indicates the relationship between the data objects.
When making changes to the specification, the object diagram needs to be updated as well. To modify the object diagram, open /images/wzdx_object_diagram.drawio
at https://app.diagrams.net (or any drawio editor). Make necessary changes to the diagram using the web editor, then download the drawio
file and replace /images/wzdx_object_diagram.drawio
with the new file. Additionally export the diagram as a JPEG, using the diagram name as the file name, and replace /images/wzdx_object_diagram.jpg
with the new image file.
Many object properties are restricted to a finite set of values, defined by an enumerated type. The enumerations for each enumerated type as well as what object properties it is used by is described in its own file in the enumerated-types directory.
This section provides a tabular list of all enumerated types used in the WZDx specification.
Enumerated Type | Description |
---|---|
Direction | The direction for a road event based on standard naming for US roads. |
EventType | The type of a WZDx road event. |
EventStatus | The status of a road event. |
LaneRestrictionUnit | Units of measure used for a lane restriction value. |
LaneStatus | The status of a lane for the traveling public. |
LaneType | An indication of the type of lane or shoulder. |
LocationMethod | The typical method used to locate the beginning and end of a work zone impact area. |
RoadRestriction | The type of vehicle restriction on a roadway. |
SpatialVerification | An indication of how a geographical coordinate was defined. |
TimeVerification | A measure of how accurate a date-time is. |
VehicleImpact | The impact to vehicular lanes along a single road in a single direction. |
WorkTypeName | A high-level text description of the type of work being done in a road event. |
For ease of reference, the table below describes all properties in the WZDx specification whose value is restricted by an enumerated type, as well as the object that contains that property.
Property | Object | Enumerated Type | Notes |
---|---|---|---|
beginning_accuracy |
RoadEvent | SpatialVerification | Enumeration updated in WZDx v3.0 |
direction |
RoadEvent | Direction | Enumeration adapted from TMDD link-alignment |
end_date_accuracy |
RoadEvent | TimeVerification | Enumeration updated in WZDx v3.0 |
ending_accuracy |
RoadEvent | SpatialVerification | Enumeration updated in WZDx v3.0 |
event_type |
RoadEvent | EventType | Enumeration create in WZDx v3.0 |
event_status |
RoadEvent | EventStatus | Enumeration created in WZDx v1.0 |
location_method |
RoadEventDataSource | LocationMethod | Enumeration created in WZDx v3.0 but referenced since v1.1 |
restrictions |
RoadEvent | RoadRestriction | Enumeration created in WZDx v1.0 |
restriction_type |
LaneRestriction | RoadRestriction | Individual lane restrictions |
restriction_units |
LaneRestriction | LaneRestrictionUnit | This is an intial list, created in WZDx v2.0, and is not intended to be complete. More values will be added as needed. |
start_date_accuracy |
RoadEvent | TimeVerification | Enumeration updated in WZDx v3.0 |
status |
Lane | LaneStatus | Enumeration created in WZDx v2.0 |
type |
Lane | LaneType | Enumeration adapted from TMDD LaneRoadway; updated in WZDx v3.0 |
type_name |
TypeOfWork | WorkTypeName | Enumeration created in WZDx v2.0 |
vehicle_impact |
RoadEvent | VehicleImpact | Enumeration created in WZDx v2.0 |