Class GeoPosHelper


public class GeoPosHelper extends VectorHelper

Helper class to create SWE structures used for geo-positioning
This includes location and attitude but also linear velocity, angular rate, and linear acceleration

Since:
March 2016
  • Field Details

    • DEF_LATITUDE_GEODETIC

      public static final String DEF_LATITUDE_GEODETIC
    • DEF_LONGITUDE

      public static final String DEF_LONGITUDE
    • DEF_ALTITUDE_ELLIPSOID

      public static final String DEF_ALTITUDE_ELLIPSOID
    • DEF_ALTITUDE_MSL

      public static final String DEF_ALTITUDE_MSL
    • DEF_ALTITUDE_GROUND

      public static final String DEF_ALTITUDE_GROUND
    • DEF_ALTITUDE_BAROMETRIC

      public static final String DEF_ALTITUDE_BAROMETRIC
    • DEF_HEADING_TRUE

      public static final String DEF_HEADING_TRUE
    • DEF_HEADING_MAGNETIC

      public static final String DEF_HEADING_MAGNETIC
    • DEF_YAW_ANGLE

      public static final String DEF_YAW_ANGLE
    • DEF_PITCH_ANGLE

      public static final String DEF_PITCH_ANGLE
    • DEF_ROLL_ANGLE

      public static final String DEF_ROLL_ANGLE
    • DEF_AZIMUTH_ANGLE

      public static final String DEF_AZIMUTH_ANGLE
    • DEF_ELEVATION_ANGLE

      public static final String DEF_ELEVATION_ANGLE
  • Constructor Details

    • GeoPosHelper

      public GeoPosHelper()
  • Method Details

    • createLocationVectorLLA

      public SWEBuilders.VectorBuilder createLocationVectorLLA()
      Creates a 3D location vector with latitude/longitude/altitude axes and WGS84 datum (EPSG 4979)
      Returns:
      A builder to set other options and build the final vector
    • newLocationVectorLLA

      public Vector newLocationVectorLLA(String def)
      Creates a 3D location vector with latitude/longitude/altitude axes and WGS84 datum (EPSG 4979)
      Parameters:
      def - semantic definition of location vector (if null, VectorHelper.DEF_LOCATION is used)
      Returns:
      the new Vector component object
    • createLocationVectorLLA_MSL

      public SWEBuilders.VectorBuilder createLocationVectorLLA_MSL()
      Creates a 3D location vector with latitude/longitude on WGS84 datum (EPSG 4326) and MSL altitude (EPSG 5714)
      Returns:
      A builder to set other options and build the final vector
    • newLocationVectorLLA_MSL

      public Vector newLocationVectorLLA_MSL(String def)
      Creates a 3D location vector with latitude/longitude on WGS84 datum (EPSG 4326) and MSL altitude (EPSG 5714)
      Parameters:
      def - semantic definition of location vector (if null, VectorHelper.DEF_LOCATION is used)
      Returns:
      the new Vector component object
    • createLocationVectorLatLon

      public SWEBuilders.VectorBuilder createLocationVectorLatLon()
      Creates a 2D location vector with latitude/longitude axes (EPSG 4326)
      Returns:
      A builder to set other options and build the final vector
    • newLocationVectorLatLon

      public Vector newLocationVectorLatLon(String def)
      Parameters:
      def - semantic definition of location vector (if null, VectorHelper.DEF_LOCATION is used)
      Returns:
      the new Vector component object
      See Also:
      • #createLocationVectorLatLon(String)
    • createLocationVectorECEF

      public SWEBuilders.VectorBuilder createLocationVectorECEF(String uomCode)
      Creates a 3D location vector with ECEF X/Y/Z axes (EPSG 4978)
      Parameters:
      uomCode - unit of distance to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newLocationVectorECEF

      public Vector newLocationVectorECEF(String def, String uomCode)
      Creates a 3D location vector with ECEF X/Y/Z axes (EPSG 4978)
      Parameters:
      def - semantic definition of location vector (if null, VectorHelper.DEF_LOCATION is used)
      uomCode - unit of distance to use on all 3 axes
      Returns:
      the new Vector component object
    • newLocationVectorECEF

      public Vector newLocationVectorECEF(String def)
      Creates a 3D location vector with ECEF X/Y/Z axes (EPSG 4978), measured in meters
      Parameters:
      def - semantic definition of location vector (if null, VectorHelper.DEF_LOCATION is used)
      Returns:
      the new Vector component object
    • createVelocityVectorECEF

      public SWEBuilders.VectorBuilder createVelocityVectorECEF(String uomCode)
      Creates a 3D velocity vector with ECEF X/Y/Z axes (EPSG 4978)
      Parameters:
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newVelocityVectorECEF

      public Vector newVelocityVectorECEF(String def, String uomCode)
      Creates a 3D velocity with ECEF X/Y/Z axes (EPSG 4978)
      Parameters:
      def - semantic definition of velocity vector (if null, VectorHelper.DEF_VELOCITY is used)
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      the new Vector component object
    • createVelocityVectorENU

      public SWEBuilders.VectorBuilder createVelocityVectorENU(String uomCode)
      Creates a 3D velocity vector with ENU X/Y/Z axes
      Parameters:
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newVelocityVectorENU

      public Vector newVelocityVectorENU(String def, String uomCode)
      Creates a 3D velocity with ENU X/Y/Z axes
      Parameters:
      def - semantic definition of velocity vector (if null, VectorHelper.DEF_VELOCITY is used)
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      the new Vector component object
    • createVelocityVectorNED

      public SWEBuilders.VectorBuilder createVelocityVectorNED(String uomCode)
      Creates a 3D velocity vector with NED X/Y/Z axes
      Parameters:
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newVelocityVectorNED

      public Vector newVelocityVectorNED(String def, String uomCode)
      Creates a 3D velocity with NED X/Y/Z axes
      Parameters:
      def - semantic definition of velocity vector (if null, VectorHelper.DEF_VELOCITY is used)
      uomCode - unit of velocity to use on all 3 axes
      Returns:
      the new Vector component object
    • createEulerOrientationYPR

      public SWEBuilders.VectorBuilder createEulerOrientationYPR(String uomCode)
      Creates a 3D orientation vector composed of 3 Euler angles expressed in a local frame (order of rotations is yaw/Z, pitch/X, roll/Y in rotating frame)
      Parameters:
      uomCode - angular unit to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • createEulerOrientationENU

      public SWEBuilders.VectorBuilder createEulerOrientationENU(String uomCode)
      Creates a 3D orientation vector composed of 3 Euler angles expressed in local East-North-Up (ENU) frame (order of rotations is heading/Z, pitch/X, roll/Y in rotating frame)
      Parameters:
      uomCode - angular unit to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newEulerOrientationENU

      public Vector newEulerOrientationENU(String def, String uomCode)
      Creates a 3D orientation vector composed of 3 Euler angles expressed in local East-North-Up (ENU) frame (order of rotations is heading/Z, pitch/X, roll/Y in rotating frame)
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_EULER is used)
      uomCode - angular unit to use on all 3 axes
      Returns:
      the new Vector component object
    • createEulerOrientationNED

      public SWEBuilders.VectorBuilder createEulerOrientationNED(String uomCode)
      Creates a 3D orientation vector composed of 3 Euler angles expressed in local North-East-Down (NED) frame (order of rotations is heading/Z, pitch/Y, roll/X in rotating frame)
      Parameters:
      uomCode - angular unit to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newEulerOrientationNED

      public Vector newEulerOrientationNED(String def, String uomCode)
      Creates a 3D orientation vector composed of 3 Euler angles expressed in local North-East-Down (NED) frame (order of rotations is heading/Z, pitch/Y, roll/X in rotating frame)
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_EULER is used)
      uomCode - angular unit to use on all 3 axes
      Returns:
      the new Vector component object
    • newEulerOrientationNED

      public Vector newEulerOrientationNED(String def)
      Default version of newEulerOrientationNED(String, String) with units set to degrees
      Parameters:
      def -
      Returns:
      the new Vector component object
    • createEulerOrientationECEF

      public SWEBuilders.VectorBuilder createEulerOrientationECEF(String uomCode)
      Creates an orientation vector component composed of 3 Euler angles expressed in Earth-Centered-Earth-Fixed (ECEF) frame (order of rotations is X, Y, Z)
      Parameters:
      uomCode - angular unit to use on all 3 axes
      Returns:
      A builder to set other options and build the final vector
    • newEulerOrientationECEF

      public Vector newEulerOrientationECEF(String def, String uomCode)
      Creates an orientation vector component composed of 3 Euler angles expressed in Earth-Centered-Earth-Fixed (ECEF) frame (order of rotations is X, Y, Z)
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_EULER is used)
      uomCode - angular unit to use on all 3 axes
      Returns:
      the new Vector component object
    • createQuatOrientation

      public SWEBuilders.VectorBuilder createQuatOrientation()
      Creates a 4d vector representing an orientation quaternion expressed in the given frame (scalar comes last).
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_QUAT is used)
      refFrame - reference frame with respect to which the coordinates of this quaternion are expressed
      Returns:
      A builder to set other options and build the final vector
    • newQuatOrientation

      public Vector newQuatOrientation(String def, String refFrame)
      Creates a 4d vector representing an orientation quaternion expressed in the given frame (scalar comes last).
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_QUAT is used)
      refFrame - reference frame with respect to which the coordinates of this quaternion are expressed
      Returns:
      the new Vector component object
    • createQuatOrientationENU

      public SWEBuilders.VectorBuilder createQuatOrientationENU()
      Creates a 4d vector representing an orientation quaternion expressed in ENU frame.
      Returns:
      A builder to set other options and build the final vector
    • newQuatOrientationENU

      public Vector newQuatOrientationENU(String def)
      Creates a 4d vector representing an orientation quaternion expressed in ENU frame.
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_QUAT is used)
      Returns:
      the new Vector component object
    • createQuatOrientationNED

      public SWEBuilders.VectorBuilder createQuatOrientationNED()
      Creates a 4d vector representing an orientation quaternion expressed in NED frame.
      Returns:
      A builder to set other options and build the final vector
    • newQuatOrientationNED

      public Vector newQuatOrientationNED(String def)
      Creates a 4d vector representing an orientation quaternion expressed in NED frame.
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_QUAT is used)
      Returns:
      the new Vector component object
    • createQuatOrientationECEF

      public SWEBuilders.VectorBuilder createQuatOrientationECEF()
      Creates a 4d vector representing an orientation quaternion expressed in ECEF frame.
      Returns:
      A builder to set other options and build the final vector
    • newQuatOrientationECEF

      public Vector newQuatOrientationECEF(String def)
      Creates a 4d vector representing an orientation quaternion expressed in ECEF frame.
      Parameters:
      def - semantic definition of orientation vector (if null, VectorHelper.DEF_ORIENTATION_QUAT is used)
      Returns:
      the new Vector component object