The TDx specification defines the content and structure of GeoJSON documents intended to be distributed as a data feed. Each GeoJSON document (colloquially "feed") contains a single feed root object. The specification defines the following feed objects:
- RoadRestrictionFeed: describes the location and details of restrictions on roadways.
- RoadIncidentFeed: describes the location and details of incidents and events impacting roadways.
Each feed object contains many layers of child objects. Together all the objects define the TDx feed. All TDx objects are located in the objects subdirectory and listed in the Objects section of this document.
The value of certain object properties is restricted to a defined set of values called an enumerated type. Enumerated types are located in the enumerated-types subdirectory and listed in the Enumerated Types section of this document.
Many of the objects and enumerated types used in the TDx Specification were initially developed for the WZDx Specification.
Each TDx object is described by a table of properties with following columns:
- Name - The property name.
- Type - The type of data being stored. This can be one of the JSON primitive types (only
String
,Number
,Array
are used),Integer
, as defined in the JSON schema validation specification section 6.1 (Draft 07), a formatted string as defined in JSON schema validation specification section 7 (Draft 07), a TDx Enumerated Type, a TDx 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 TDx GeoJSON document. There are three categories of conformance:
- Required - The property must be included
- Optional - The property may be omitted
- 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 TDx specification.
The following objects are high-level and describe either a TDx feed or information about a TDx feed:
Object | Description |
---|---|
FeedDataSource | Information about a specific data source used to build a TDx data feed. |
FeedInfo | Information about a TDx feed such as metadata, contact information, and data sources. |
RoadIncidentFeed | The root (highest-level) object of a Road Incident Feed GeoJSON document. |
RoadRestrictionFeed | The root (highest-level) object of a Road Restriction Feed GeoJSON document. |
The following objects are used to describe events occurring on roadways (road events) that impact the characteristics of the roadway and involve a change from the default state:
Object | Description |
---|---|
DetourRoadEvent | A detour on a roadway. |
IncidentRoadEvent | Describes incidents or events that close or restrict the use of a road segment. |
Lane | An individual lane within a road event. |
RelatedRoadEvent | Identification a road event that is related to the road event that the RelatedRoadEvent object occurs on. |
Restriction | A restriction on a road event or lane, including type and value. |
RestrictionRoadEvent | Describes a section of roadway and the limitations of how that section can be used. |
RoadEventCoreDetails | The core details of an event occurring on a roadway (i.e. a road event) that is shared by all types of road events. |
RoadEventFeature | The GeoJSON Feature container object for a TDx road event. |
TypeOfIncident | Describes an event that causes disruptions to expected operations. |
Relationship (DEPRECATED) | All properties that use this object are deprecated so this object will be removed in a future release, use RelatedRoadEvent instead. Identification of both sequential and hierarchical relationships between road events and other entities. |
The object diagrams below depict the relationship between the data objects for each TDx feed.
The object diagram below indicates the relationship between the data objects used in the RoadRestrictionFeed:
When making changes to the specification, the object diagram needs to be updated as well. To modify the object diagram, open /images/TDx_RoadRestrictionFeed_object_diagram.drawio or /images/TDx_RoadIncidentFeed_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 the appropriate file in the /images
directory with the new file. Additionally export the diagram as a PNG, using the diagram name as the file name, and replace /images/TDx_RoadRestrictionFeed_object_diagram.png
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 TDx specification.
The following enumerated types are used by objects that describe road events:
Enumerated Type | Description |
---|---|
Direction | The direction for a road event based on standard naming for US roads. |
EventType | The type of a TDx road event. |
IncidentCategory | Categories of incidents causing disruptions to expected operations. |
IncidentType | Descriptions of the incidents causing disruptions to expected operations. |
LaneStatus | The status of a lane for the traveling public. |
LaneType | An indication of the type of lane or shoulder. |
RelatedRoadEventType | The type of relationship with a road event that is being identified. |
RestrictionType | The type of vehicle restriction on a roadway or lane. |
UnitOfMeasurement | Unit of measurement (e.g. "pounds", "centimeters"). |