Package org.gavaghan.geodesy
Class GlobalPosition
java.lang.Object
org.gavaghan.geodesy.GlobalCoordinates
org.gavaghan.geodesy.GlobalPosition
- All Implemented Interfaces:
Serializable,Comparable<GlobalCoordinates>
Encapsulates a three dimensional location on a globe (GlobalCoordinates combined with an elevation in meters above a reference ellipsoid).
See documentation for GlobalCoordinates for details on how latitude and longitude measurements are canonicalized.
- Author:
- Mike Gavaghan
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionGlobalPosition(double latitude, double longitude, double elevation) Creates a new instance of GlobalPosition.GlobalPosition(GlobalCoordinates coords, double elevation) Creates a new instance of GlobalPosition. -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(GlobalPosition other) Compare this position to another.booleanCompare this position to another object for equality.doubleGet elevation.inthashCode()Get a hash code for this position.voidsetElevation(double elevation) Set the elevation.toString()Get position as a string.Methods inherited from class org.gavaghan.geodesy.GlobalCoordinates
compareTo, getLatitude, getLongitude, setLatitude, setLongitude
-
Constructor Details
-
GlobalPosition
public GlobalPosition(double latitude, double longitude, double elevation) Creates a new instance of GlobalPosition.- Parameters:
latitude- latitude in degreeslongitude- longitude in degreeselevation- elevation, in meters, above the reference ellipsoid
-
GlobalPosition
Creates a new instance of GlobalPosition.- Parameters:
coords- coordinates of the positionelevation- elevation, in meters, above the reference ellipsoid
-
-
Method Details
-
getElevation
public double getElevation()Get elevation.- Returns:
- elevation about the ellipsoid in meters.
-
setElevation
public void setElevation(double elevation) Set the elevation.- Parameters:
elevation- elevation about the ellipsoid in meters.
-
compareTo
Compare this position to another. Western longitudes are less than eastern logitudes. If longitudes are equal, then southern latitudes are less than northern latitudes. If coordinates are equal, lower elevations are less than higher elevations- Parameters:
other- instance to compare to- Returns:
- -1, 0, or +1 as per Comparable contract
-
hashCode
public int hashCode()Get a hash code for this position.- Overrides:
hashCodein classGlobalCoordinates- Returns:
-
equals
Compare this position to another object for equality.- Overrides:
equalsin classGlobalCoordinates- Parameters:
other-- Returns:
-
toString
Get position as a string.- Overrides:
toStringin classGlobalCoordinates
-