Package org.ka2ddo.opentrac
Class OpenTracPosition
java.lang.Object
org.ka2ddo.opentrac.OpenTracElement
org.ka2ddo.opentrac.OpenTracPosition
- All Implemented Interfaces:
Serializable
An OpenTRAC element that represents the current position of an entity.
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic 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
ConstructorDescriptionCreate 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 TypeMethodDescriptionint
computeBody
(byte[] buf, int offset) Append this element to a message bufferboolean
equalsElement
(OpenTracElement other) Test if this OpenTracElement has the same type and value as another OpenTracElement.int
Get altitude value in OpenTrac 0.01 meter unitsdouble
Get altitude value in meters above mean sea leveldouble
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
length()
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
-
Field Details
-
SEMICIRCLE_TO_ANGLE
public static final double SEMICIRCLE_TO_ANGLEConvenience 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_SEMICIRCLEConvenience 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 codebody
- byte array containing the encoded OpenTRAC elementsoffset
- starting index in the array where this element beginslength
- 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 Northlongitude
- double longitude in degrees Eastaltitude
- 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
Get the string representation of the value of this element.- Specified by:
valueString
in classOpenTracElement
- Returns:
- value string
-
computeBody
public int computeBody(byte[] buf, int offset) Append this element to a message buffer- Specified by:
computeBody
in classOpenTracElement
- Parameters:
buf
- byte array to add the element tooffset
- 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 classOpenTracElement
- Returns:
- byte count needed to hold this element
-
equalsElement
Test if this OpenTracElement has the same type and value as another OpenTracElement.- Specified by:
equalsElement
in classOpenTracElement
- Parameters:
other
- OpenTracElement to compare against this element- Returns:
- boolean true if elements are of the same type, class, and value
-