message-data

This is documentation for the <message-data> field referenced in the csv_event_output and event_output documentation.

Possible Signatures

Note

The format varies depending on the message type. All of the <track-data> prints if print_track_in_message is enabled; otherwise, a brief form of the <track-data> is printed.

<message-data> Possible Signatures

Condition

Signature

If the message is a WsfTrackMessage AND the track exists OR the message is a WsfTaskAssignMessage {

CSV:

<trackid>,<timestart>,<timeupdate>,<countupdate>,<trackquality>,<domainspatial>,<flagtype>,<flagcandidate>,<flagfalse target>
{ ,<platformname>,<platformtype>,<platformside> | ,,, },
(originator)<locationLLA>,
| <locationeci>
{ ,(perceived)<locationLLA>,
| <locationeci>,
{ <flagLV >}.{ <flag3D> },{ <flagRV> },{ <flagBV> },{ <flagEV> }
{ ,(actual)<locationLLA>,
| <locationeci>,<|r|perceived - actual> | ,,,,,,, } | ,,,,,,,,,,,,,,,,,, }
{ ,{ <|v|perceived>,{ <hdgperceived> },{ <|v|actual>,<headingactual> | , } | ,,, }
{ ,{ <rangeperceived> },{ <brgperceived> },{ <elperceived> }
{ ,{ <rangeactual> },{ <brgactual> },{ <elactual> } | ,,, }
{ ,{ <SErange> },{ <<SEbrg> },{ <<SEel>> } | ,,, } | ,,,,,,,,, },
{ <typeid> },{ <sideid> },{ <log(S/N)> },{ <pixel-count> },
{ <signal-count>,{ { <flower>,<fupper> } | , } | 0,, }
{ ,<aux-data> | , }

EVT:

TrackId: <trackid>

If print_track_in_message

Start_Time: <timestart> Update_Time: <timeupdate> Update_Count: <countupdate> Quality: <trackquality> Domain: <domainspatial> Type: <flagtype><flagcandidate><flagfalse target>
{ Target_Truth: Name: <platformname> Type: <platformtype> Side: <platformside> }
Originator: { <locationLLA> | <locationeci> }
{ Track: { <locationLLA> | <locationeci> } Flags: { <flagLV > }{ <flag3D> }{ <flagRV> }{ <flagBV> }{ <flagEV> } }
{ Truth: { <locationLLA> | <locationeci> } Difference: <|r|perceived - actual> }
{ { Track: Vel: <|v|perceived> m/s Hdg: <hdgperceived> deg } { Truth: Vel: <|v|actual> m/s Hdg: <hdgactual> deg } }
{ Track: { Range: <rangeperceived> m } { Bearing: <brgperceived> deg } { Elevation: <elperceived> deg } }
{ { Truth: Range: <rangeactual> m } { Bearing: <brgactual> deg } { Elevation: <elactual> deg } }
{ Measurement_Error_Sigma: { Range: <SErange> m } { Bearing: <SEbrg>> deg } { Elevation: <SEel> deg } }
{ Type_IDs: [{ <typeid> (<typequality>) }] | Type_ID: <typeid> } { Side_ID: <sideid> } { Signal-To-Noise: <log(S/N)> } { Pixel_Count: <pixel-count> }
{ Frequency: [{ (<flower> <fupper>) }] }
{ Aux_Data: <aux-data> }
{ Measurement_Covariance: Major Axis: <major-axis> m Minor Axis: <minor-axis> m Bearing: <brg> deg \ }
{ State_Covariance: Major Axis: <major-axis> m Minor Axis: <minor-axis> m Bearing: <brg> deg }
{ Residual_Covariance: Major Axis: <major-axis> m Minor Axis: <minor-axis> m Bearing: <brg> deg }

Else

Start_Time: <timestart> Update_Time: <timeupdate> Update_Count: <countupdate> Quality: <trackquality> Domain: <domainspatial> Type: <flagtype><flagcandidate><flagfalse target>

}

If the message is a WsfTrackDropMessage

CSV:

<trackid>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

EVT:

TrackId: <trackid>

If the message is a WsfStatusMessage

CSV:

<status>,<requestid>,<systemname>,<platformname>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

EVT:

Status: <status> RequestId: <requestid> System: <systemname> Platform: <platformname>

Else

All other messages have their own way of printing. The appropriate printing function will execute if it exists; otherwise nothing will be printed.

Signature Elements

<message-data> Signature Elements

Condition

Field

Description

For WsfTrackMessage, WsfTrackDropMessage, and WsfTaskAssignMessage

<trackid>

<track-data>

The ID of the track within the message

See <track-data> table below

For WsfStatusMessage {

If the message has a request

<requestid>

If the message has a system

<systemname>

If the message has an associated platform

<platformname>

Note

This platform is not the platform who sent the message.

}

For all other messages

Not applicable

location-data

Field

Definition

<locationLLA>

csv_event_output

<latitude>,<longitude>,<altitude>

event_output

LLA: <latitude> <longitude> <altitude> m

csv_event_output

<locationECI>

<|L|ECI>,<uLx>,<uLy>,<uLz>

event_output

ECI Location: <|L|ECI> * m [ <uLx> <uLy> <uLz> ]

Note

Track refers to the perceived target. Truth refers to the actual target.

track-data

Condition

Field

Description

none

<flagtype>

One of:

  • ‘F’ (filtered sensor)

  • ‘M’ (unfiltered sensor)

  • ‘I’ (predefined or pre-briefed)

  • ‘P’ (processed)

  • ‘S’ (static image)

  • ‘V’ (pseudo sensor)

  • ‘U’ (other or unknown)

If the track is a “candidate” track

<flagcandidate>

‘C’

If the track is a false target track

<flagfalse target>

‘F’

If the track location is valid

<flagLV>

‘L’

If the track is 3D

<flag3D>

‘3’

If the track range is valid

<flagRV>

‘R’

If the track bearing is valid

<flagBV>

‘B’

If the track elevation is valid

<flagEV>

‘E’

If the target platform exists {

If the the track location is valid OR the track range AND elevation is valid

<|r|perceived - actual>

Note

The distance is in the NED reference frame.

}

If the track velocity is valid {

<|v|perceived>

<hdgperceived>

If the truth exists {

<|v|actual>

<hdgactual>

} }

If the track location, range, bearing, OR elevation is valid {

If the track range OR location is valid

<rangeperceived>

If the track bearing OR location is valid

<brgperceived>

If the track elevation OR location is valid

<hdgperceived>

If the truth range OR location is valid

<rangeactual>

If the truth bearing OR location is valid

<brgactual>

If the truth elevation OR location is valid

<elactual>

If the track is an unfiltered sensor AND has measurement error {

If the range error is non-zero

<SErange>

The standard error in the range measurement

If the bearing error is non-zero

<SEbrg>

The standard error in the bearing measurement

If the elevation error is non-zero

<SEel>

The standard error in the elevation measurement

} }

If the type IDs are valid AND there are more than one type ID {

For every type ID {

<typeid>

<typequality>

} }

Else (there is only one type ID) {

If the type ID is valid

<typeid>

}

If the side ID is valid

<sideid>

If the signal-to-noise is valid

<S/Nlog>

If the pixel count is valid

<pixel-count>

The pixel count from the image that created the track

Note

This will be zero if not from an image

If the frequency is valid {

<signal-count>

For every signal {

<flower>

<fupper>

The lower bound of the frequency interval

The upper bound of the frequency interval

} }

If the track has auxiliary data

<aux-data>

If specified to print track covariance {

If the measurement covariance is valid

<covarianceM>

The measurement covariance of the track

If the state covariance is valid

<covarianceS>

The state covariance of the track

}

If specified to print the track residual covariance

<covarianceR>

The residual covariance of the track

Example Output

Examples

from heatmap/heatmap_commander_demo extracted from MESSAGE_QUEUED message (for WsfTrackMessage)

  • csv_event_output Example:

    ,,,,ew_radar.1,2.700000e+02,2.700000e+02,0,5.000000e-01,air,M,,,red_1,STRIKER,red,-1.630000e+01,4.972858e+01,6.00000000e+00,-3.09694815e+06,5.28277976e+06,-1.77779023e+06,-1.624251e+01,5.076280e+01,1.06680000e+04,-3.19805944e+06,5.23628797e+06,-1.77463341e+06,L,3,,,,-1.624251e+01,5.076280e+01,1.06680000e+04,-3.19805944e+06,5.23628797e+06,-1.77463341e+06,0.000000e+00,2.572222e+02,4.709940e+00,2.572222e+02,4.709940e+00,1.113326e+05,1.515836e+00,8.723217e-02,1.113326e+05,1.515836e+00,8.723217e-02,,,,,,,,0,,,
    
  • event_output Example:

    TrackId: ew_radar.1
    Start_Time: 00:04:30.0 Update_Time: 00:04:30.0 Update_Count: 0 Quality: 0.5 Domain: air Type: M
    Target_Truth: Name: red_1 Type: STRIKER Side: red
    Originator: LLA: 16:18:00.00s 49:43:42.88e 6 m
    Track: LLA: 16:14:33.02s 50:45:46.08e 10668 m Flags: L3
    Truth: LLA: 16:14:33.02s 50:45:46.08e 10668 m  Difference: 0 m
    Track: Vel: 257.222 m/s Hdg: 269.86 deg  Truth: Vel: 257.222 m/s Hdg: 269.86 deg
    Track: Range: 111333 m Bearing: 86.851 deg Elevation: 4.99804 deg
    Truth: Range: 111333 m Bearing: 86.851 deg Elevation: 4.99804 deg
    

Examples

from heatmap/heatmap_commander_demo extracted from MESSAGE_QUEUED message (for WsfTrackDropMessage)

  • csv_event_output Example:

    ,,,,ew_radar.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    
  • event_output Example:

    TrackId: ew_radar.1
    

Examples

from heatmap/heatmap_commander_demo extracted from MESSAGE_QUEUED message (for WsfTrackDropMessage)

  • csv_event_output Example:

    SYSTEM_TURNED_ON,,ew_radar,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    
  • event_output Example:

    Status: SYSTEM_TURNED_ON System: ew_radar
    

Examples

from heatmap/heatmap_commander_demo extracted from MESSAGE_QUEUED message (for WsfTaskAssignMessage)

  • csv_event_output Example:

    ,,,,flight_lead.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    
  • event_output Example:

    TrackId: flight_lead.1
    Start_Time: 00:04:30.0 Update_Time: 00:04:30.0 Update_Count: 0 Quality: 0.5 Domain: air Type: P
    Target_Truth: Name: red_1 Type: STRIKER Side: red
    Originator: LLA: 16:18:00.00s 49:43:42.88e 6 m
    Track: LLA: 16:14:33.02s 50:45:46.08e 10668 m Flags: L3
    Truth: LLA: 16:14:33.22s 50:44:19.48e 10668 m  Difference: 2576.16 m
    Track: Vel: 257.222 m/s Hdg: 269.866 deg  Truth: Vel: 257.222 m/s Hdg: 269.866 deg
    Track: Range: 111333 m Bearing: 86.851 deg Elevation: 4.99804 deg
    Truth: Range: 108775 m Bearing: 86.7726 deg Elevation: 5.13919 deg