#ifndef POSITIONDEFVAR #define POSITIONDEFVAR #include "Coordinates_and_Positions.idl" module org { module omg { module c4i { module Domain_Model { module Navigation_Domain { module Position { // Version 1.0 // This class indicates the semantics of the height attribute. It describes how // the reported height (or depth) has been derived. enum altitude_measurement_type { // It is reporting a measurement based on local density (of air or water). DENSITY, // It is reporting a measurement based on local gravity. GRAVITY, // As reported by the platform's own altimeter (or depth sensor). Typically, but // not necessarily this is pressure related. The precise option rather than this // one should be reported if known. INDICATED, // It is derived from a pressure sensor. PRESSURE, // It is reporting a measurement made relative to the GEOID (WGS84) - e.g. using a // satellite navigation system. RELATIVE_TO_GEOID, // The distance to the ground below (or above for underground systems) is being // measured and reported. RELATIVE_TO_GROUND, // It is reporting a measurement made relative to mean sea level. RELATIVE_TO_MSL }; // Version 1.0 // The accuracy of the platform's own position report. struct own_position_accuracy_type { // Contains the attributes inherited from the parent type. org::omg::c4i::Domain_Model::Navigation_Domain::navigation_accuracy_type navigation_accuracy; // The accuracy of the reported position in the chosen coordinate system for // reporting. This should be the same choice as for the position itself. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::position_accuracy_coordinate_type position; }; // Version 1.0 // a simple union type, to represent an optional value union own_position_altitude_kind_type switch (boolean) { // the value when present case TRUE : org::omg::c4i::Domain_Model::Navigation_Domain::Position::altitude_measurement_type value; }; // Version 1.0 // The platform's own position report. struct own_position_type { own_position_accuracy_type accuracy; // Describes the semantics of the position's altitude attribute. Optional: omit // only if altitude is not reported. own_position_altitude_kind_type altitude_kind; // The specification of the coordinate system used for reporting own position and // its accuracy. In most use cases Cartesian or WGS84, Earth Referenced choices // are expected; in some use cases other choices for reporting relative to some // known datum could be used. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::coordinate_specification_type coordinate_specification; // Contains the attributes inherited from the parent type. org::omg::c4i::Domain_Model::Navigation_Domain::Reporting::navigation_report_type navigation_report; // The position of the reporting platform in the chosen coordinate system for // reporting. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::position_coordinate_type position; }; // Version 1.0 // The accuracy of the platform's own velocity report. struct own_velocity_accuracy_type { // Contains the attributes inherited from the parent type. org::omg::c4i::Domain_Model::Navigation_Domain::navigation_accuracy_type navigation_accuracy; // The accuracy of the reporting platform's velocity with reference to the // coordinate system used for reporting.. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::velocity_accuracy_coordinate_type velocity; }; // Version 1.0 // This class defines what it is that is having its velocity measured. enum velocity_measurement_type { // The measurement is of absolute velocity (i.e. relative to the Earth). ABSOLUTE, // The measurement is of the air in the local environment itself (i.e. the wind // speed). This is only to be reported as a true value; i.e. it is not be based on // a pressure-based 'indicated' sensor reading for relative air speed that isn't // corrected for density. AIR, // The measurement is of velocity relative to the environment (i.e. water or air) // using an indirect approximation such as air pressure. RELATIVE_INDICATED, // The measurement is of velocity relative to the environment (i.e. water or air) // using a method that is not subject to systematic approximation error as is the // case with 'Indicated Air Speed' as measured by a pressure sensor. RELATIVE_TRUE, // The measurement is of the water current in the local environment itself (i.e. // the movement of the water). WATER }; // Version 1.0 // The platform's own velocity report. struct own_velocity_type { own_velocity_accuracy_type accuracy; // The specification of the coordinate system used for reporting own velocity and // its accuracy. In most use cases Cartesian or WGS84, Earth Referenced choices // are expected; in some use cases other choices for reporting relative to some // known datum could be used. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::coordinate_specification_type coordinate_specification; // The definition of the velocity being measured. velocity_measurement_type measurement_kind; // Contains the attributes inherited from the parent type. org::omg::c4i::Domain_Model::Navigation_Domain::Reporting::navigation_report_type navigation_report; // The velocity of the reporting platform with reference to the chosen coordinate // system for reporting. org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::velocity_coordinate_type velocity; }; }; }; }; }; }; }; #endif