cottak 0.1.0

A built in test application for Linux using dynamic libraries in Rust
Documentation
// 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 = "LocationProto";
// [END java_declaration]

// [START messages]
message LocationList {
    repeated Location locations = 1 [(field_options) = {is_mandatory: true}]; // List of locations used to define a region
}

message Location {
    optional double x = 1 [(field_options) = {is_mandatory: true}]; // X-coordinate (normally longitude)
    optional double y = 2 [(field_options) = {is_mandatory: true}]; // Y-coordinate (normally latitude)
    optional double z = 3; // Z-coordinate (normally altitude)
    optional double x_error = 4; // X-coordinate error
    optional double y_error = 5; // Y-coordinate error
    optional double z_error = 6; // Z-coordinate error
    optional LocationCoordinateSystem coordinate_system = 7  [(field_options) = {is_mandatory: true}]; // Coordinate system used
    optional LocationDatum datum = 8  [(field_options) = {is_mandatory: true}]; // Datum used
    optional string utm_zone = 9; // For reporting locations in an adjacent UTM zone
}

enum LocationCoordinateSystem {
    reserved 3, 4; // These values were used in SAPIENT upto version 7, but are no longer used due to use of non-SI units
    LOCATION_COORDINATE_SYSTEM_UNSPECIFIED = 0; // Co-ordinate system/units not defined
    LOCATION_COORDINATE_SYSTEM_LAT_LNG_DEG_M = 1; // Latitude/Longitude in decimal-degrees/metres
    LOCATION_COORDINATE_SYSTEM_LAT_LNG_RAD_M = 2; // Latitude/Longitude in radians/metres
//    LOCATION_COORDINATE_SYSTEM_LAT_LNG_DEG_F = 3; // Latitude/Longitude in decimal-degrees/feet - DEPRECATED
//    LOCATION_COORDINATE_SYSTEM_LAT_LNG_RAD_F = 4; // Latitude/Longitude in radians/feet - DEPRECATED
    LOCATION_COORDINATE_SYSTEM_UTM_M = 5; // UTM with altitude in metres
}

enum LocationDatum {
    LOCATION_DATUM_UNSPECIFIED = 0; // Datum not defined
    LOCATION_DATUM_WGS84_E = 1; // WGS84 Ellipsoid
    LOCATION_DATUM_WGS84_G = 2; // WGS84 Geoid
}
// [END messages]