// Dstl (c) Crown Copyright 2024
//
// [START declaration]
syntax = "proto3";
package sapient_msg.bsi_flex_335_v2_0;
import "sapient_msg/proto_options.proto";
// [END declaration]
// [START java_declaration]
option java_multiple_files = true;
option java_package = "uk.gov.dstl.sapientmsg.bsiflex335v2";
option java_outer_classname = "VelocityProto";
// [END java_declaration]
// [START messages]
// Provide velocity as a vector in global cartesian coordinates
// This is a revision of the TIE22 LocationVelocity encoding velocity as per the Location field but with eastings, northings and up for clarity.
// This aligns with the Location (Cartesian) coordinates system.
message ENUVelocity {
optional double east_rate = 1 [(field_options) = {is_mandatory: true}]; // Velocity in the east-axis (x)
optional double north_rate = 2 [(field_options) = {is_mandatory: true}]; // Velocity in the north-axis (y)
optional double up_rate = 3; // Velocity in the up-axis (z)
optional double east_rate_error = 4; // Error in the velocity in the east-axis
optional double north_rate_error = 5; // Error in the velocity in the north-axis
optional double up_rate_error = 6; // Error in the velocity in the up-axis
}
// Specify units when ENUVelocity is in use
message ENUVelocityUnits {
optional SpeedUnits east_north_rate_units = 1 [(field_options) = {is_mandatory: true}]; // Units that velocity is reported in for east and north axis
optional SpeedUnits up_rate_units = 2; // Units that velocity is reported in for up axis
}
// This specifies the units of the scalar speed component of velocity being reported
enum SpeedUnits {
reserved 3, 4; // These values were used in SAPIENT upto version 7, but are no longer used due to use of non-SI units
SPEED_UNITS_UNSPECIFIED = 0; // Units not defined
SPEED_UNITS_MS = 1; // Meters per second
SPEED_UNITS_KPH = 2; // Kilometers per hour
// SPEED_UNITS_MPH = 3; // Miles per hour - DEPRECIATED
// SPEED_UNITS_FS = 4; // Feet per second - DEPRECIATED
}
// [END messages]