org.placelab.core
Class TwoDCoordinate

java.lang.Object
  extended byorg.placelab.core.TwoDCoordinate
All Implemented Interfaces:
Coordinate
Direct Known Subclasses:
ThreeDCoordinate

public class TwoDCoordinate
extends java.lang.Object
implements Coordinate

The standard coordinate class used on systems with floating point math support. If you write an application that only runs on systems that support floats, you can cast any Coordinate into a TwoDCoordinate.


Field Summary
static TwoDCoordinate NULL
           
 
Constructor Summary
TwoDCoordinate()
          Create a null TwoDCoordinate
TwoDCoordinate(double lat, double lon)
          Create a new TwoDCoordinate.
TwoDCoordinate(java.lang.String lat, java.lang.String lon)
           
TwoDCoordinate(java.lang.String latNMEA, java.lang.String latHem, java.lang.String lonNMEA, java.lang.String lonHem)
           
TwoDCoordinate(TwoDCoordinate c)
           
 
Method Summary
 void constructFromMap(java.util.Hashtable map)
          Constructs from a Hashtable.
 void constructFromNMEA(java.lang.String latNMEA, java.lang.String latHem, java.lang.String lonNMEA, java.lang.String lonHem)
          Constructs a Coordinate from the NMEA specification for Coordinates which is a hemisphere and a lat and lon in hhmm.sssss format.
 void constructFromStrings(java.lang.String lat, java.lang.String lon)
          Constructs a Coordinate from String representations of lat and lon as doubles in hh.ddddd format
 Coordinate createClone()
           
 TwoDCoordinate createCloneAndMove(double xMeters, double yMeters)
           
 double distanceFrom(TwoDCoordinate c2)
           
 java.lang.String distanceFromAsString(Coordinate c2)
           
 int distanceFromInMeters(Coordinate c2)
          Returns the distance between points in meters
 boolean equals(java.lang.Object o)
           
 double getLatitude()
           
 java.lang.String getLatitudeAsString()
           
 java.lang.String getLatitudeHemisphereNMEA()
           
 java.lang.String getLatitudeNMEA()
           
 double getLongitude()
           
 java.lang.String getLongitudeAsString()
           
 java.lang.String getLongitudeHemisphereNMEA()
           
 java.lang.String getLongitudeNMEA()
           
 boolean isNull()
          The Null coordinate is a Coordinate which does not map to anywhere at all.
 double metersToLatitudeUnits(double meters)
           
 double metersToLongitudeUnits(double meters)
           
 void moveBy(double xMeters, double yMeters)
           
 void moveTo(double lat, double lon)
           
protected  void setLatitude(double lat)
           
protected  void setLongitude(double lon)
           
 java.lang.String toString()
           
 Coordinate translate(int north, int east)
          Provides a new Coordinate at a position translated from an existing one
 boolean within(Coordinate coord1, Coordinate coord2)
          c1 and c2 define opposing corners of a rectangular region.
 double xDistanceFrom(TwoDCoordinate c2)
           
 double yDistanceFrom(TwoDCoordinate c2)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NULL

public static final TwoDCoordinate NULL
Constructor Detail

TwoDCoordinate

public TwoDCoordinate()
Create a null TwoDCoordinate


TwoDCoordinate

public TwoDCoordinate(double lat,
                      double lon)
Create a new TwoDCoordinate.


TwoDCoordinate

public TwoDCoordinate(java.lang.String lat,
                      java.lang.String lon)

TwoDCoordinate

public TwoDCoordinate(java.lang.String latNMEA,
                      java.lang.String latHem,
                      java.lang.String lonNMEA,
                      java.lang.String lonHem)

TwoDCoordinate

public TwoDCoordinate(TwoDCoordinate c)
Method Detail

constructFromStrings

public void constructFromStrings(java.lang.String lat,
                                 java.lang.String lon)
Description copied from interface: Coordinate
Constructs a Coordinate from String representations of lat and lon as doubles in hh.ddddd format

Specified by:
constructFromStrings in interface Coordinate

constructFromMap

public void constructFromMap(java.util.Hashtable map)
Description copied from interface: Coordinate
Constructs from a Hashtable. The Hashtable should have the following structure:
 Types.LATITUDE=latitude as a String in hh.dddddd format
 Types.LONGITUDE=longitude as a String in hh.ddddd format
 

Specified by:
constructFromMap in interface Coordinate
See Also:
Types#newCoordinate(HashMap)

constructFromNMEA

public void constructFromNMEA(java.lang.String latNMEA,
                              java.lang.String latHem,
                              java.lang.String lonNMEA,
                              java.lang.String lonHem)
Description copied from interface: Coordinate
Constructs a Coordinate from the NMEA specification for Coordinates which is a hemisphere and a lat and lon in hhmm.sssss format.

Specified by:
constructFromNMEA in interface Coordinate

moveBy

public void moveBy(double xMeters,
                   double yMeters)

moveTo

public void moveTo(double lat,
                   double lon)

getLatitudeAsString

public java.lang.String getLatitudeAsString()
Specified by:
getLatitudeAsString in interface Coordinate

getLongitudeAsString

public java.lang.String getLongitudeAsString()
Specified by:
getLongitudeAsString in interface Coordinate

toString

public java.lang.String toString()
Specified by:
toString in interface Coordinate

getLatitude

public double getLatitude()

setLatitude

protected void setLatitude(double lat)

setLongitude

protected void setLongitude(double lon)

getLongitude

public double getLongitude()

equals

public boolean equals(java.lang.Object o)

distanceFromInMeters

public int distanceFromInMeters(Coordinate c2)
Returns the distance between points in meters

Specified by:
distanceFromInMeters in interface Coordinate

distanceFromAsString

public java.lang.String distanceFromAsString(Coordinate c2)
Specified by:
distanceFromAsString in interface Coordinate

distanceFrom

public double distanceFrom(TwoDCoordinate c2)

xDistanceFrom

public double xDistanceFrom(TwoDCoordinate c2)

yDistanceFrom

public double yDistanceFrom(TwoDCoordinate c2)

metersToLatitudeUnits

public double metersToLatitudeUnits(double meters)

metersToLongitudeUnits

public double metersToLongitudeUnits(double meters)

translate

public Coordinate translate(int north,
                            int east)
Description copied from interface: Coordinate
Provides a new Coordinate at a position translated from an existing one

Specified by:
translate in interface Coordinate
Parameters:
north - the number of meters to translate north
east - the number of meters to translate east
Returns:
a new Coordinate which is translated from the existing one according to the parameters

within

public boolean within(Coordinate coord1,
                      Coordinate coord2)
Description copied from interface: Coordinate
c1 and c2 define opposing corners of a rectangular region. This method returns true if this Coordinate falls in that region.

Specified by:
within in interface Coordinate

isNull

public boolean isNull()
Description copied from interface: Coordinate
The Null coordinate is a Coordinate which does not map to anywhere at all. Returns true if this coordinate is the Null coordinate.

Specified by:
isNull in interface Coordinate

createClone

public Coordinate createClone()
Specified by:
createClone in interface Coordinate

createCloneAndMove

public TwoDCoordinate createCloneAndMove(double xMeters,
                                         double yMeters)

getLatitudeNMEA

public java.lang.String getLatitudeNMEA()
Specified by:
getLatitudeNMEA in interface Coordinate

getLongitudeNMEA

public java.lang.String getLongitudeNMEA()
Specified by:
getLongitudeNMEA in interface Coordinate

getLatitudeHemisphereNMEA

public java.lang.String getLatitudeHemisphereNMEA()
Specified by:
getLatitudeHemisphereNMEA in interface Coordinate

getLongitudeHemisphereNMEA

public java.lang.String getLongitudeHemisphereNMEA()
Specified by:
getLongitudeHemisphereNMEA in interface Coordinate