| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.microedition.location.Coordinates
The Coordinates class represents coordinates as 
 latitude-longitude-altitude values.
 The latitude and longitude values are expressed 
 in degrees using floating point values. The degrees are 
 in decimal values (rather than minutes/seconds).
 The coordinates are given using the WGS84 datum.
 
This class also provides convenience methods for converting
 between a string coordinate representation and the double
 representation used in this class.
 
| Field Summary | |
| static int | DD_MMIdentifier for string coordinate representation Degrees, Minutes, decimal fractions of a minute | 
| static int | DD_MM_SSIdentifier for string coordinate representation Degrees, Minutes, Seconds and decimal fractions of a second | 
| Constructor Summary | |
| Coordinates(double latitude,
            double longitude,
            float altitude)Constructs a new Coordinatesobject with the values 
 specified. | |
| Method Summary | |
|  float | azimuthTo(Coordinates to)Calculates the azimuth between the two points according to the ellipsoid model of WGS84. | 
| static java.lang.String | convert(double coordinate,
        int outputType)Converts a double representation of a coordinate with decimal degrees into a string representation. | 
| static double | convert(java.lang.String coordinate)Converts a String representation of a coordinate into the double representation as used in this API. | 
|  float | distance(Coordinates to)Calculates the geodetic distance between the two points according to the ellipsoid model of WGS84. | 
|  float | getAltitude()Returns the altitude component of this coordinate. | 
|  double | getLatitude()Returns the latitude component of this coordinate. | 
|  double | getLongitude()Returns the longitude component of this coordinate. | 
|  void | setAltitude(float altitude)Sets the geodetic altitude for this point. | 
|  void | setLatitude(double latitude)Sets the geodetic latitude for this point. | 
|  void | setLongitude(double longitude)Sets the geodetic longitude for this point. | 
| Methods inherited from class java.lang.Object | 
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
public static final int DD_MM_SS
public static final int DD_MM
| Constructor Detail | 
public Coordinates(double latitude,
                   double longitude,
                   float altitude)
Coordinates 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.
 
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 the WGS84 ellipsoid. Float.NaN can be used
 to indicate that altitude is not known.
java.lang.IllegalArgumentException - if an input parameter is out of 
 the valid range| Method Detail | 
public double getLatitude()
The latitude is given in WGS84 datum.
setLatitude(double)public double getLongitude()
The longitude is given in WGS84 datum.
setLongitude(double)public float getAltitude()
Float.NaN that the altitude is not 
 available.
setAltitude(float)public void setAltitude(float altitude)
altitude - the altitude of the location in meters, defined as
 height above the WGS84 ellipsoid. 0.0 means a location 
 at the ellipsoid surface, negative values mean the location is below 
 the ellipsoid surface, Float.NaN that the altitude is not 
 availablegetAltitude()public void setLatitude(double latitude)
latitude - the latitude component of this location in degrees. 
 Valid range:
 [-90.0, 90.0].
java.lang.IllegalArgumentException - if latitude is out of the 
 valid rangegetLatitude()public void setLongitude(double longitude)
longitude - the longitude of the location in degrees. Valid range:
 [-180.0, 180.0)
java.lang.IllegalArgumentException - if longitude is out of the 
 valid rangegetLongitude()public static double convert(java.lang.String coordinate)
There are two string syntaxes supported:
 1. Degrees, minutes, seconds and decimal fractions of seconds.
    This is expressed as a string complying with the 
    following BNF definition where the degrees are 
    within the range [-179, 179] and the
    minutes and seconds are
    within the range [0, 59], or the degrees is -180 and
    the minutes, seconds and decimal fractions are 0:
 
    coordinate = degrees ":" minutes ":" seconds "." decimalfrac
                   | degrees ":" minutes ":" seconds
                   | degrees ":" minutes
    degrees = degreedigits | "-" degreedigits
    degreedigits = digit | nonzerodigit digit | "1" digit digit 
    minutes = minsecfirstdigit digit
    seconds = minsecfirstdigit digit
    decimalfrac = 1*3digit 
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    nonzerodigit = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    minsecfirstdigit = "0" | "1" | "2" | "3" | "4" | "5" 
 
 
 
 
 2. Degrees, minutes and decimal fractions of minutes.
    This is expressed as a string complying with the 
    following BNF definition where the degrees are within the 
    range [-179, 179] and the minutes are
    within the range [0, 59], or the degrees is -180 and the
    minutes and decimal fractions are 0:
 
    coordinate = degrees ":" minutes "." decimalfrac
                   | degrees ":" minutes
    degrees = degreedigits | "-" degreedigits
    degreedigits = digit | nonzerodigit digit | "1" digit digit 
    minutes = minsecfirstdigit digit
    decimalfrac = 1*5digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    nonzerodigit = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    minsecfirstdigit = "0" | "1" | "2" | "3" | "4" | "5" 
 
 
 
 For example, for the double value of the
 coordinate 61.51d, the corresponding syntax 1
 string is "61:30:36" and the corresponding syntax 2 
 string is "61:30.6".
 
coordinate - a String in either of the two representation
                   specified above
java.lang.IllegalArgumentException - if the coordinate input parameter 
                                  does not comply with the defined 
                                  syntax for the specified types
java.lang.NullPointerException - if the coordinate string is 
                              null
public static java.lang.String convert(double coordinate,
                                       int outputType)
 There are string syntaxes supported are the same as for 
 the convert(String) method. The implementation shall
 provide as many significant digits for the decimal fractions
 as are allowed by the string syntax definition.
 
coordinate - a double reprentation of a coordinateoutputType - identifier of the type of the string representation
                   wanted for output
                  The constant DD_MM_SS identifies the syntax 1 and 
                  the constant DD_MM identifies the syntax 2.
java.lang.IllegalArgumentException - if the outputType is not one of the 
                                  two costant values defined in this 
                                  class or if the coordinate value 
                                  is not within the range 
                                  [-180.0, 180.0) or 
                                  is Double.NaNconvert(String)public float azimuthTo(Coordinates to)
Coordinates object on which this method
 is called is considered the origin for the calculation and
 the Coordinates object passed as a parameter
 is the destination which the azimuth is calculated to. 
 When the origin is the North pole and the destination is not the 
 North pole, this method returns 180.0. When the origin is the 
 South pole and the destination is not the South pole, this 
 method returns 0.0. If the origin is equal to the destination,
 this method returns 0.0.
 The implementation shall calculate the result as exactly 
 as it can. However, it is required that the result is 
 within 1 degree of the correct result.
to - the Coordinates of the destination
java.lang.NullPointerException - if the parameter
 is null public float distance(Coordinates to)
The implementation shall calculate this as exactly as it can. However, it is required that the result is within 0.36% of the correct result.
to - the Coordinates of the destination
java.lang.NullPointerException - if the parameter
 is null | 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||