The data service speeds and flows contain minute data about speeds, flows (flows often are subdivided by vehicle category) and queue information. This data is determined with point measurements and/or VRI’s. The delivery will take place no later than 60 seconds after the measurement minute. The data service contains the sum of the number of measured vehicles per lane per measuring point. The measurement period is one minute and the delivered value is a conversion of this minute data to one hour. Depending on the provisions of the road authority concerned, the output will show a distribution over vehicle categories.
The files are made available as open data on opendata.ndw.nu as trafficspeed.xml (periodic data regarding speeds, intensity and queues) and measurement_current.xml (configuration data of the measurement sites).
For more information about the structure of the MeasurementSiteTablePublication (measurement_current.xml) you can click here.
The data service Speeds and flows is part of the real-time traffic data (AVG). The specialization (xsi: type) MeasuredDataPublication from PayloadPublication is used for this purpose in the Datex II structure.
The main structure is shown in the figure below.
In the example below the use of the most important elements in this data service is explained.
The file/soap message with the periodic data of travel times starts with the standard DatexII elements for delivery (see example XML below). The exchange element is used to exchange parameters related to the delivery, in this case the details of the supplier.
Element | Explanation |
exchange | The element is used to exchange data related to the delivery |
supplierIdentification | describes the sending/delivering party |
<d2LogicalModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" modelBaseVersion="2" xmlns="http://datex2.eu/schema/2/2_0">
<exchange>
<supplierIdentification>
<country>nl</country>
<nationalIdentifier>NLNDW</nationalIdentifier>
</supplierIdentification>
</exchange>
<payloadPublication lang="nl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="MeasuredDataPublication">
<publicationTime>2017-08-09T08:52:40.008Z</publicationTime>
<publicationCreator>
<country>nl</country>
<nationalIdentifier>NLNDW</nationalIdentifier>
</publicationCreator>
<measurementSiteTableReference targetClass="MeasurementSiteTable" version="960" id="NDW01_MT"/>
<headerInformation>
<confidentiality>noRestriction</confidentiality>
<informationStatus>real</informationStatus>
</headerInformation>
..
</payloadPublication>
</d2LogicalModel>
In the above example, the attribute xsi: type of the PayloadPublication indicates that the specialization “MeasuredDataPublication” has been used. In addition, the following elements were used to provide extra information about the data delivery.
Element | Explanation |
payloadPublication | Element contains the actual delivery of data |
publicationTime | Date and time the payloadPublication was created |
publicationCreator | Party that composes the publication |
country | Country of the composing party |
nationalIdentifier | Identification composing party |
measurementSiteTableReference | Reference to the measurementSiteTable |
headerInformation | Gives status and confidentiality information |
confidentiality | Confidentiality of the information provided |
informationStatus | Status of the information supplied |
The actual travel time data can be found in the siteMeasurements element (see XML example below). The reference to the measurement location within the measurementSiteTable is done by means of the attributes of the measurementSiteReference element. In addition, the start time of the measurement minute is indicated in measurementTimeDefault.
Warning
The measurementTimeDefault element always indicates the start time of the measurement minute.
<siteMeasurements xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<measurementSiteReference id="PZH01_MST_0661_01" version="3" targetClass="MeasurementSiteRecord" />
<measurementTimeDefault>2017-11-15T14:11:00Z</measurementTimeDefault>
<measuredValue index="1">
<measuredValue>
<basicData xsi:type="TrafficFlow">
<vehicleFlow supplierCalculatedDataQuality="0">
<dataError>true</dataError>
<vehicleFlowRate>0</vehicleFlowRate>
</vehicleFlow>
</basicData>
</measuredValue>
</measuredValue>
</siteMeasurements>
Element | Explanation |
siteMeasurements | Contains the measured traffic data |
measurementSiteReference | Reference to the measurement location included in the measurementSiteTable |
measurementTimeDefault | Start time of the period (measurement minute) for which measurement data are delivered |
The traffic data for a measuring point is recorded in one or more measuredValue (main) elements. Each element refers (using the mandatory attribute index) to the corresponding measurementSpecificCharacteristics. The element itself has one mandatory element, measuredValue (subelement), and one optional element measuredValueExtension (not used in the example).
Element | Explanation |
measuredValue (hoofdelement) | Traffic data for a measuring point |
measuredValue (subelement) | Subelement of measuredValue |
measuredValueExtension | Subelement of measuredValue |
The measured value and the typing of the value itself is recorded in the specializations of the basicData element. In the case of the data service speeds and flows, the following specializations are used:
TrafficFlow | Flow is coded through the TrafficFlow specialization |
TrafficSpeed | Speed data is coded using TrafficSpeed |
TrafficStatus | Queues are coded by means of the Traffic Status specialization |
In the code example above it concerns the specialization “TrafficFlow” for code examples and the relevant elements of the other two specializations you can click through on the specialization names below.
Code example "TrafficSpeed"Within the basicData element, the vehicleFlow element is used to report the intensity of a measurement site. The vehicleFlow element inherits the attributes from VehicleFlowValue and DataValue. The vehicleFlow element expands its attributes with the vehicleFlowRate attribute. The attributes numberOfInputValuesUsed and standardDeviation are not used in this specialization.
In the event of a faulty measurement, the dataError subelement is used to indicate this. About how this is done click here. In addition, the reference value is included within the basicDataReferenceValue element in the measuredValueExtension. A typing of the reference value takes place using the referenceValueType element. In addition, the structure of basicData has been included under travelTimeData to indicate the reference value.
Below is an overview of the sub-elements of the measuredValue element with “TrafficFlow” as a specialization of the basicData subelement.
Element | Explanation |
basicData | The TrafficFlow specialization of basicData contains the basic measurement data |
vehicleFlow | Indication of how the measurement data was determined |
dataError | Indicates that no, or no reliable data can be delivered by the measuring point. |
vehicleFlowRate | The number of vehicles that would pass the point for one hour based on measurement period. |
De opbouw van de specialisatie “TrafficSpeed” (snelheid) van basicData kent de volgende elementen:
Element | Explanation |
basicData | The TrafficSpeed specialization of basicData contains the basic measurement data |
averageVehicleSpeed | Element is used for reporting point speed of a measurement location |
dataError | Indicates that no, or no reliable data can be delivered by the measuring point. |
speed | Average speed detection point in KM per hour |
The structure of the specialization “TrafficStatus” (queues) of basicData has the following elements:
Element | Explanation |
basicData | The TrafficStatus specialization of basicData contains the basic measurement data |
trafficStatus | Element to report the queue of a measurement location |
dataError | Indicates that no, or no reliable data can be delivered by the measuring point. |
trafficStatusValue | Qualitative description of the flow of traffic |
trafficStatusValueExtension | The element contains additional elements that are required to describe a queue |