Class OpenTracPosition

java.lang.Object
org.ka2ddo.opentrac.OpenTracElement
org.ka2ddo.opentrac.OpenTracPosition
All Implemented Interfaces:
Serializable

public class OpenTracPosition extends OpenTracElement
An OpenTRAC element that represents the current position of an entity.
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Convenience constant to convert an angle in fractional degrees to the highest-precision possible integer that will fit in 32 bits.
    static final double
    Convenience constant to convert an angle in fractional degrees from the highest-precision possible integer that will fit in 32 bits.

    Fields inherited from class org.ka2ddo.opentrac.OpenTracElement

    id
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create uninitialized OpenTracPosition element.
    OpenTracPosition(double latitude, double longitude, double altitude)
    Create an OpenTRAC position element with the specified coordinates.
    OpenTracPosition(int type, byte[] body, int offset, int length)
    Create an OpenTRAC element with position values from the next series of bytes in an encoded OpenTRAC message.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    computeBody(byte[] buf, int offset)
    Append this element to a message buffer
    boolean
    Test if this OpenTracElement has the same type and value as another OpenTracElement.
    int
    Get altitude value in OpenTrac 0.01 meter units
    double
    Get altitude value in meters above mean sea level
    double
    get latitude in degrees North.
    double
    Get longitude in degrees East.
    int
    Get latitude in OpenTrac ticks (1 tick = 180 degrees / (2^31)).
    int
    Get longitude in OpenTrac ticks (1 tick = 180 degrees / (2^31)).
    int
    Return the number of bytes needed to encode this element.
    Get the string representation of the value of this element.

    Methods inherited from class org.ka2ddo.opentrac.OpenTracElement

    getId, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • SEMICIRCLE_TO_ANGLE

      public static final double SEMICIRCLE_TO_ANGLE
      Convenience constant to convert an angle in fractional degrees from the highest-precision possible integer that will fit in 32 bits.
      See Also:
    • ANGLE_TO_SEMICIRCLE

      public static final double ANGLE_TO_SEMICIRCLE
      Convenience constant to convert an angle in fractional degrees to the highest-precision possible integer that will fit in 32 bits.
      See Also:
  • Constructor Details

    • OpenTracPosition

      public OpenTracPosition()
      Create uninitialized OpenTracPosition element.
    • OpenTracPosition

      public OpenTracPosition(int type, byte[] body, int offset, int length)
      Create an OpenTRAC element with position values from the next series of bytes in an encoded OpenTRAC message.
      Parameters:
      type - OpenTRAC element type code
      body - byte array containing the encoded OpenTRAC elements
      offset - starting index in the array where this element begins
      length - remaining number of bytes in the OpenTRAC encoded message
    • OpenTracPosition

      public OpenTracPosition(double latitude, double longitude, double altitude)
      Create an OpenTRAC position element with the specified coordinates.
      Parameters:
      latitude - double latitude in degrees North
      longitude - double longitude in degrees East
      altitude - double altitude in meters
  • Method Details

    • getAltitude

      public int getAltitude()
      Get altitude value in OpenTrac 0.01 meter units
      Returns:
      altitude in 0.01 meter units relative to 10000 meters below sea level
    • getFAltitude

      public double getFAltitude()
      Get altitude value in meters above mean sea level
      Returns:
      altitude in meters above mean sea level
    • getFLatitude

      public double getFLatitude()
      get latitude in degrees North.
      Returns:
      latitude in fractional degrees North
    • getFLongitude

      public double getFLongitude()
      Get longitude in degrees East.
      Returns:
      longitude in fractional degrees East
    • getLatitude

      public int getLatitude()
      Get latitude in OpenTrac ticks (1 tick = 180 degrees / (2^31)).
      Returns:
      latitude in ticks
    • getLongitude

      public int getLongitude()
      Get longitude in OpenTrac ticks (1 tick = 180 degrees / (2^31)).
      Returns:
      longitude in ticks
    • valueString

      public String valueString()
      Get the string representation of the value of this element.
      Specified by:
      valueString in class OpenTracElement
      Returns:
      value string
    • computeBody

      public int computeBody(byte[] buf, int offset)
      Append this element to a message buffer
      Specified by:
      computeBody in class OpenTracElement
      Parameters:
      buf - byte array to add the element to
      offset - starting index to store the element
      Returns:
      index after the end of the stored element
    • length

      public int length()
      Return the number of bytes needed to encode this element.
      Specified by:
      length in class OpenTracElement
      Returns:
      byte count needed to hold this element
    • equalsElement

      public boolean equalsElement(OpenTracElement other)
      Test if this OpenTracElement has the same type and value as another OpenTracElement.
      Specified by:
      equalsElement in class OpenTracElement
      Parameters:
      other - OpenTracElement to compare against this element
      Returns:
      boolean true if elements are of the same type, class, and value