Class GeoLocation
- java.lang.Object
- com.iizix.prop.GeoLocation
 
- All Implemented Interfaces:
- ILongitudeLatitude,- ILongitudeLatitudeAltitude
 - public class GeoLocation extends java.lang.Object implements ILongitudeLatitudeAltitude Geographical location data object used to retrieve a location from- GeoProps. This class is not thread safe and is intended to simply carry the geographical location information.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)- Author:
- Christopher Mindus
 
- Field Summary- Fields - Modifier and Type - Field - Description - double- accuracyThe accuracy value returned by an implementation should correspond to a 95% confidence level.- double- altitudeThe altitude attribute denotes the height of the location, specified in meters above the [WGS84] ellipsoid.- double- altitudeAccuracyThe altitudeAccuracy value returned by an implementation should correspond to a 95% confidence level.- int- errorCodeThe error code from last request of a location: -1 = Not available, 0 = OK, 1 = PERMISSION_DENIED, 2 = UNAVAILABLE, 3 = TIMEOUT.- java.lang.String- errorMessageThe error message for last failed attempt to get a location.- double- headingThe heading attribute denotes the direction of travel of the hosting device and is specified in degrees, where 0<=heading<360, counting clockwise relative to the true north.- boolean- isAvailableFlag for available API.- double- latitudeThe latitude attribute coordinate is specified in decimal degrees.- double- longitudeThe longitude attributes coordinate is specified in decimal degrees.- double- speedThe speed attribute denotes the magnitude of the horizontal component of the hosting device's current velocity and is specified in meters per second.- long- timestampThe timestamp of the location in milliseconds when the server has received the location, since January 1, 1970, -1L if not available.- long- timestampDeviceThe timestamp of the location generated for the device location in milliseconds, since January 1, 1970, -1L if not available.- Fields inherited from interface com.iizix.geo.ILongitudeLatitude- EARTH_RADIUS
 
 - Constructor Summary- Constructors - Constructor - Description - GeoLocation(boolean isAvailable, int errorCode, java.lang.String errorMessage, long timestamp, double latitude, double longitude, double altitude, double accuracy, double altitudeAccuracy, double heading, double speed)Constructor.- GeoLocation(double latitude, double longitude)Constructor for very low accuracy without altitude or speed.- GeoLocation(long timestamp, double latitude, double longitude, double altitude, double accuracy, double speed)Constructor.
 - Method Summary- All Methods Instance Methods Concrete Methods - Modifier and Type - Method - Description - boolean- equals(java.lang.Object o)Check for equality.- double- getAltitude()Gets the altitude in meters.- double- getLatitude()Gets the latitude.- double- getLongitude()Gets the longitude.- int- hashCode()Gets the hash code of this instance.- java.lang.String- toString()Creates the string representation of this location.- Methods inherited from class java.lang.Object- clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 - Methods inherited from interface com.iizix.geo.ILongitudeLatitude- getDistance
 - Methods inherited from interface com.iizix.geo.ILongitudeLatitudeAltitude- getDistance
 
 
- Field Detail- isAvailable- public final boolean isAvailable Flag for available API.
 - errorCode- public final int errorCode The error code from last request of a location:- -1 = Not available,
- 0 = OK,
- 1 = PERMISSION_DENIED,
- 2 = UNAVAILABLE,
- 3 = TIMEOUT.
 
 - errorMessage- public final java.lang.String errorMessage The error message for last failed attempt to get a location. If the errorCode is zero, then this message does not apply. The message can be null for no message ever encountered.
 - timestamp- public final long timestamp The timestamp of the location in milliseconds when the server has received the location, since January 1, 1970, -1L if not available.
 - timestampDevice- public final long timestampDevice The timestamp of the location generated for the device location in milliseconds, since January 1, 1970, -1L if not available.
 - latitude- public final double latitude The latitude attribute coordinate is specified in decimal degrees. If latitude is not provided,- Double.NaNis set.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - longitude- public final double longitude The longitude attributes coordinate is specified in decimal degrees. If longitude is not provided,- Double.NaNis set.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - altitude- public final double altitude The altitude attribute denotes the height of the location, specified in meters above the [WGS84] ellipsoid. If the implementation cannot provide altitude information, the value of this attribute is- Double.NaN. If altitude is not provided,- Double.NaNis set.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - accuracy- public final double accuracy The accuracy value returned by an implementation should correspond to a 95% confidence level. If accuracy is not provided,- Double.NaNis set.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - altitudeAccuracy- public final double altitudeAccuracy The altitudeAccuracy value returned by an implementation should correspond to a 95% confidence level. If altitudeAccuracy is not provided,- Double.NaNis set.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - heading- public final double heading The heading attribute denotes the direction of travel of the hosting device and is specified in degrees, where 0<=heading<360, counting clockwise relative to the true north. If the implementation cannot provide heading information, the value of this attribute is- Double.NaN. If the hosting device is stationary (i.e. the value of the speed attribute is 0), then the value of the heading attribute is- Double.NaN.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 - speed- public final double speed The speed attribute denotes the magnitude of the horizontal component of the hosting device's current velocity and is specified in meters per second. If the implementation cannot provide speed information, the value of this attribute is- Double.NaN. Otherwise, the value of the speed attribute is a non-negative real number.- Programming note: DO NOT COMPARE WITH Double.NaN as e.g. - value==Double.NaN, use- Double.isNaN(double)
 
 - Constructor Detail- GeoLocation- public GeoLocation(double latitude, double longitude)Constructor for very low accuracy without altitude or speed.- The timestamp is set to "now", and the altitude and speed is set to Double.NaN. Accuracy is set to 0d. - Parameters:
- latitude- Latitude coordinate.
- longitude- Longitude coordinate.
 
 - GeoLocation- public GeoLocation(long timestamp, double latitude, double longitude, double altitude, double accuracy, double speed)Constructor.- Altitude accuracy and heading are assumed not specified. - Parameters:
- timestamp- Timestamp in milliseconds since the epoch (1st Jan 1970 0:00:00 GMT).
- latitude- Latitude coordinate.
- longitude- Longitude coordinate.
- altitude- Height of location in meters.
- accuracy- Accuracy in percent.
- speed- Speed attribute.
 
 - GeoLocation- public GeoLocation(boolean isAvailable, int errorCode, java.lang.String errorMessage, long timestamp, double latitude, double longitude, double altitude, double accuracy, double altitudeAccuracy, double heading, double speed)Constructor.- Parameters:
- isAvailable- Flag for geolocation availability.
- errorCode- Error code from last request of a location, 0 for no error.
- errorMessage- Error message, or null for no error.
- timestamp- Timestamp in milliseconds since the epoch (1st Jan 1970 0:00:00 GMT).
- latitude- Latitude coordinate.
- longitude- Longitude coordinate.
- altitude- Height of location in meters.
- accuracy- Accuracy in percent.
- altitudeAccuracy- Altitude accuracy in percent.
- heading- Heading attribute.
- speed- Speed attribute.
 
 
 - Method Detail- getLongitude- public double getLongitude() Gets the longitude.- Specified by:
- getLongitudein interface- ILongitudeLatitude
- Returns:
- The longitude, or NaN if value is not present.
 
 - getLatitude- public double getLatitude() Gets the latitude.- Specified by:
- getLatitudein interface- ILongitudeLatitude
- Returns:
- The latitude, or NaN if value is not present.
 
 - getAltitude- public double getAltitude() Gets the altitude in meters.- Specified by:
- getAltitudein interface- ILongitudeLatitudeAltitude
- Returns:
- The altitude, or NaN if not available.
 
 - equals- public boolean equals(java.lang.Object o) Check for equality. This method is not thread safe.- Overrides:
- equalsin class- java.lang.Object
- Parameters:
- o- Another object.
- Returns:
- true if it's the same GeoLocation object values, false otherwise.
 
 - hashCode- public int hashCode() Gets the hash code of this instance.- Overrides:
- hashCodein class- java.lang.Object
- Returns:
- The hash code.
 
 - toString- public java.lang.String toString() Creates the string representation of this location. This method is not thread safe.- Overrides:
- toStringin class- java.lang.Object
- Returns:
- Location String as "className[isAvailable=boolean,errorCode=nn (REASON),...]".