lattice_sdk/api/types/position.rs
1pub use crate::prelude::*;
2
3/// WGS84 position. Position includes four altitude references.
4/// The data model does not currently support Mean Sea Level (MSL) references,
5/// such as the Earth Gravitational Model 1996 (EGM-96) and the Earth Gravitational Model 2008 (EGM-08).
6/// If the only altitude reference available to your integration is MSL, convert it to
7/// Height Above Ellipsoid (HAE) and populate the altitude_hae_meters field.
8#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
9pub struct Position {
10 /// WGS84 geodetic latitude in decimal degrees.
11 #[serde(rename = "latitudeDegrees")]
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub latitude_degrees: Option<f64>,
14 /// WGS84 longitude in decimal degrees.
15 #[serde(rename = "longitudeDegrees")]
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub longitude_degrees: Option<f64>,
18 /// altitude as height above ellipsoid (WGS84) in meters. DoubleValue wrapper is used to distinguish optional from
19 /// default 0.
20 #[serde(rename = "altitudeHaeMeters")]
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub altitude_hae_meters: Option<f64>,
23 /// Altitude as AGL (Above Ground Level) if the upstream data source has this value set. This value represents the
24 /// entity's height above the terrain. This is typically measured with a radar altimeter or by using a terrain tile
25 /// set lookup. If the value is not set from the upstream, this value is not set.
26 #[serde(rename = "altitudeAglMeters")]
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub altitude_agl_meters: Option<f64>,
29 /// Altitude as ASF (Above Sea Floor) if the upstream data source has this value set. If the value is not set from the upstream, this value is
30 /// not set.
31 #[serde(rename = "altitudeAsfMeters")]
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub altitude_asf_meters: Option<f64>,
34 /// The depth of the entity from the surface of the water through sensor measurements based on differential pressure
35 /// between the interior and exterior of the vessel. If the value is not set from the upstream, this value is not set.
36 #[serde(rename = "pressureDepthMeters")]
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub pressure_depth_meters: Option<f64>,
39}