In What Format Is Data Provided?
TPEG’s format is designed to keep a small data footprint in order to conserve bandwidth. The data returned from INRIX TPEG Connect has the following characteristics:
- The format is binary, which is smaller than text-based data.
- The data can be compressed and encrypted.
- Initial messages contain all data, but subsequent data only contains changes that have occurred since the last message. This means that the messages are not stateless.
- The Location Referencing scheme that INRIX uses reduces the amount of traffic flow data.
Format and Data
The format contains data that has been written as a stream of binary data. This means that the data is not human-readable, but it is very compact, and very fast for software to decode once it is received. Download an example TPEG binary file here: TPEG-payload. Although it has a .txt extension, it is a binary file. Below is an example of data that has been converted into a human-readable XML structure. This illustrates the type of data that you will find in the binary.
<ApplicationRootMessage>
<ApplicationRootMessageBin byteSize="39" byteCRChex="6dfb" statusLevel="Success" statusDescription="Is ok!">ACUAAQgHMwBQoS1jAAMHBgYOkkIECQIPAAIMCy+UDQEWAYkAKB8Y</ApplicationRootMessageBin>
<ApplicationRootMessageML xmlns:tec="http://www.tisa.org/TPEG/TEC_3_0" xmlns:mmc="http://www.tisa.org/TPEG/MessageManagementContainer_1_1" xmlns:lrc="http://www.tisa.org/TPEG/LocationReferencingContainer_1_0" xmlns:tmc="http://www.tisa.org/TPEG/TMCLocationReference_0_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.tisa.org/TPEG/TEC_3_0 TEC_3_0.xsd http://www.tisa.org/TPEG/MessageManagementContainer_1_1 MMC_1_1.xsd http://www.tisa.org/TPEG/LocationReferencingContainer_1_0 LRC_1_0.xsd http://www.tisa.org/TPEG/TMCLocationReference_0_0 TMC_0_0.xsd" xsi:type="tec:TECMessage">
<tec:mmt xsi:type="mmc:MessageManagementContainer">
<mmc:messageID>51</mmc:messageID>
<mmc:versionID>0</mmc:versionID>
<mmc:messageExpiryTime>2012-11-12T17:09:55Z</mmc:messageExpiryTime>
<mmc:cancelFlag>false</mmc:cancelFlag>
</tec:mmt>
<tec:event>
<tec:effectCode tec:table="tec001_EffectCode" tec:code="6" tec:alias="StationaryTraffic" />
<tec:lengthAffected>2370</tec:lengthAffected>
<tec:avgSpeedAbsolute>4lt;/tec:avgSpeedAbsolute>
<tec:delay>9</tec:delay>
</tec:event>
<tec:loc xsi:type="lrc:ProblemLocation">
<lrc:TMCLocationReference lrc:direction="false" lrc:locationTableNumber="1" lrc:locationID="12180" lrc:countryCode="13" lrc:bothDirections="false" lrc:extent="1" lrc:locationTableVersion="72">
<lrc:PreciseTMCInformation lrc:hazardDistance1="31" lrc:problemLength1="24" />
</lrc:TMCLocationReference>
</tec:loc>
</ApplicationRootMessageML>
</ApplicationRootMessage>
Compression and Encryption
TPEG data also has the option to be compressed and encrypted. Compression allows for faster transmittal of the data, and encryption prevents unauthorized access to the vehicle’s information, such as location. Compression and encryption is performed on the get-message response. Note: Compression is configured by the setup of the vendor. Encryption is specified in the InitSession call. The diagram below illustrates how TPEG data is compressed and encrypted. Note that you must perform compression before encryption. Similarly, you must perform decryption before decompression.
The structure of the encrypted buffer is shown in the following diagram:
Note: C# and Java handle the padding differently. When encryption is disabled, several parts of the buffer are no longer necessary. The following diagram displays gray boxes for the parts that are not present when encryption is disabled. The response is simply gzipped.
Previous: For What Locations Does INRIX TPEG Return Data? |
Next: What Data Does INRIX TPEG Provide? |