Introduction
Contents
UDP Track Distribution
Witness supports a method of sending lightweight tracks via UDP for consumtion on external systems
Witness by default will send UDP packets via Multicast on 239.145.145.145 port 63170. The system can be configured to send to a Unicast address instead.
Each UDP datagram contains a single sighting for a single track.
UDP Message Structure
Each message includes a header of 6 bytes followed by a variable length payload. The header includes the protocol version, message type and payload size enabling the client software to reliably decode the payload data as required.
Field | Type [Size] | Description |
---|---|---|
Version | uint8_t [1] | Protocol version – indicates the revision of the protocol messages |
Message Type | uint8_t [1] | Message type – indicates the type of the payload |
Payload Length | uint32_t [4] | The length, in bytes, of the main body of the message |
Track Distribution Message
The payload of this message is a Protobuf object representing the track sighting data. For more information on Google Protocol Buffers please see reference [https://developers.google.com/protocol-buffers]. Navtech can provide Protobuf message files (.proto) on request.
The X and Y Positions are in metres relative to the system origin set within the Witness Suite. The Latitude and Longitude coordinates are based on the WGS84 datum.
syntax = "proto3"; package TrackProtobuf; message DistributionTrack { string uniqueid = 1; int32 trackid = 2; int32 senderid = 3; uint32 channelid = 4; double speedmps = 5; double coursedegrees = 6; int32 classification = 7; double classificationprobability = 8; double xposition = 9; double yposition = 10; double latitude = 11; double longitude = 12; string tag = 13; }
Protobuf Fields
Field | Description |
---|---|
UniqueId | A string representation of a GUID that represents the unique Id of the track |
TrackId | User friendly numeric Id for each track. Note that this Id is not unique across the system |
SenderId | User friendly numeric Id of the radar which generated the track. This value represents the User Id which is configured in the Witness software |
ChannelId | This is the index of tracking channel from which the track was generated. Typically in ClearWay, this will represent the channel use for each carriageway |
SpeedMps | The speed of the track in metres / second |
CourseDegrees | The course of the track in degrees |
Classification | The track classification Id. Options are:
|
ClassificationProbability | The confidence level of the classification represented as a value between 0 and 1. |
XPosition | X coordinate of the track based on the local Witness site coordinate system |
YPosition | Y coordinate of the track based on the local Witness site coordinate system |
Latitude | Latitude coordinate of the track based on WGS84 datum |
Longitude | Longitude coordinate of the track based on WGS84 datum |
Tag | User friendly name / description of the track. Typically not used in ClearWay |