org.j4me.bluetoothgps
Class QualifiedCoordinates

java.lang.Object
  extended by org.j4me.bluetoothgps.Coordinates
      extended by org.j4me.bluetoothgps.QualifiedCoordinates

public class QualifiedCoordinates
extends Coordinates

The QualifiedCoordinates class represents coordinates as latitude-longitude-altitude values that are associated with an accuracy value.


Field Summary
 
Fields inherited from class org.j4me.bluetoothgps.Coordinates
DD_MM, DD_MM_SS
 
Constructor Summary
QualifiedCoordinates(double latitude, double longitude, float altitude, float horizontalAccuracy, float verticalAccuracy)
          Constructs a new QualifiedCoordinates object with the values specified.
 
Method Summary
 float getHorizontalAccuracy()
          Returns the horizontal accuracy of the location in meters (1-sigma standard deviation).
 float getVerticalAccuracy()
          Returns the accuracy of the location in meters in vertical direction (orthogonal to ellipsoid surface, 1-sigma standard deviation).
 void setHorizontalAccuracy(float horizontalAccuracy)
          Sets the horizontal accuracy of the location in meters (1-sigma standard deviation).
 void setVerticalAccuracy(float verticalAccuracy)
          Sets the accuracy of the location in meters in vertical direction (orthogonal to ellipsoid surface, 1-sigma standard deviation).
 java.lang.String toString()
          Provides a string representation of the qualified coordinates.
 
Methods inherited from class org.j4me.bluetoothgps.Coordinates
azimuthTo, distance, equals, getAltitude, getLatitude, getLongitude, setAltitude, setLatitude, setLongitude
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QualifiedCoordinates

public QualifiedCoordinates(double latitude,
                            double longitude,
                            float altitude,
                            float horizontalAccuracy,
                            float verticalAccuracy)
Constructs a new QualifiedCoordinates object with the values specified. The latitude and longitude parameters are expressed in degrees using floating point values. The degrees are in decimal values (rather than minutes/seconds).

The coordinate values always apply to the WGS84 datum.

The Float.Nan value can be used for altitude to indicate that altitude is not known.

Parameters:
latitude - - the latitude of the location. Valid range: [-90.0, 90.0]. Positive values indicate northern latitude and negative values southern latitude.
longitude - - the longitude of the location. Valid range: [-180.0, 180.0). Positive values indicate eastern longitude and negative values western longitude
altitude - - the altitude of the location in meters, defined as height above WGS84 ellipsoid. Float.Nan can be used to indicate that altitude is not known.
horizontalAccuracy - - the horizontal accuracy of this location result in meters. Float.Nan can be used to indicate that the accuracy is not known. Must be greater or equal to 0.
verticalAccuracy - - the vertical accuracy of this location result in meters. Float.Nan can be used to indicate that the accuracy is not known. Must be greater or equal to 0.
Throws:
java.lang.IllegalArgumentException - - if an input parameter is out of the valid range
Method Detail

getHorizontalAccuracy

public float getHorizontalAccuracy()
Returns the horizontal accuracy of the location in meters (1-sigma standard deviation). A value of Float.Nan means the horizontal accuracy could not be determined.

The horizontal accuracy is the RMS (root mean square) of east accuracy (latitudinal error in meters, 1-sigma standard deviation), north accuracy (longitudinal error in meters, 1-sigma).

Returns:
the horizontal accuracy in meters. Float.Nan if this is not known

setHorizontalAccuracy

public void setHorizontalAccuracy(float horizontalAccuracy)
Sets the horizontal accuracy of the location in meters (1-sigma standard deviation). A value of Float.Nan means the horizontal accuracy could be determined.

The horizontal accuracy is the RMS (root mean square) of east accuracy (latitudinal error in meters, 1-sigma standard deviation), north accuracy (longitudinal error in meters, 1-sigma).

Parameters:
horizontalAccuracy - - the horizontal accuracy of this location result in meters. Float.Nan means the horizontal accuracy could not be determined. Must be greater or equal to 0.
Throws:
java.lang.IllegalArgumentException - - if an input parameter is out of the valid range

getVerticalAccuracy

public float getVerticalAccuracy()
Returns the accuracy of the location in meters in vertical direction (orthogonal to ellipsoid surface, 1-sigma standard deviation). A value of Float.Nan means the vertical accuracy could not be determined.

Returns:
the vertical accuracy in meters. Float.Nan if this is not known.

setVerticalAccuracy

public void setVerticalAccuracy(float verticalAccuracy)
Sets the accuracy of the location in meters in vertical direction (orthogonal to ellipsoid surface, 1-sigma standard deviation). A value of Float.Nan means the vertical accuracy could be determined.

Parameters:
verticalAccuracy - - the vertical accuracy of this location result in meters. Float.Nan means the horizontal accuracy could not be determined. Must be greater or equal to 0.
Throws:
java.lang.IllegalArgumentException - - if an input parameter is out of the valid range

toString

public java.lang.String toString()
Provides a string representation of the qualified coordinates.

Overrides:
toString in class Coordinates
Returns:
A string such as "79.32°N 169.8°W 25.7m ±1.8mH ±0.7mV" where the words are the latitude, longitude, altitude (in meters), horizontal accuracy (in meters), and vertical accuracy (in meters).