// Generated by https://github.com/foxglove/schemas

syntax = "proto3";

package foxglove;

// A navigation satellite fix for any Global Navigation Satellite System
message LocationFix {
  // Type of position covariance
  enum PositionCovarianceType {
    UNKNOWN = 0;

    APPROXIMATED = 1;

    DIAGONAL_KNOWN = 2;

    KNOWN = 3;
  }
  // Latitude in degrees
  double latitude = 1;

  // Longitude in degrees
  double longitude = 2;

  // Altitude in meters
  double altitude = 3;

  // Position covariance (m^2) defined relative to a tangential plane through the reported position. The components are East, North, and Up (ENU), in row-major order.
  repeated double position_covariance = 4; // length 9

  // If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance.
  PositionCovarianceType position_covariance_type = 5;
}
