// 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]