mccombe.mapping
Class CoordinateSystem

java.lang.Object
  extended by mccombe.mapping.CoordinateSystem
Direct Known Subclasses:
Projection, Spherical

public abstract class CoordinateSystem
extends java.lang.Object

Abstract base class for coordinate systems in general. Each instance of CoordinateSystem contains a Position and references to the Ellipsoid and Datum from which the coordinates are derived. The position itself is independent of Ellipsoid and Datum.


Field Summary
protected  Position locus
          The Position of this Coordinate
protected  Datum ref
          The Datum for this point
protected  Ellipsoid sph
          The Ellipsoid for this point
 
Constructor Summary
protected CoordinateSystem()
          Creates a new instance of CoordinateSystem using the default Ellipsoid and Datum
  CoordinateSystem(Position pos, Ellipsoid e, Datum d)
          Create a new instance of CoordinateSystem for a specific Position, Ellipsoid and Datum
 
Method Summary
abstract  Datum defaultDatum()
          Get the defaul Datum for an instance of CoordinateSystem.
abstract  Ellipsoid defaultEllipsoid()
          The default Ellipsoid used by instances of this CoordinateSystem For example, a CoordinateSystem of type OSGB has the AirySphere as its default Ellipsoid
 Datum getDatum()
          Get the Datum used by this point
 Ellipsoid getEllipsoid()
          Get the Ellipsoid used by this point
 java.lang.String getName()
          Get the name of this CoordinateSystem.
 Position getPosition()
          Get the Position of this point
 XYZ getWGS84()
          Get the "absolute" cartesian coordinates for this location.
protected static double parseDouble(java.lang.String s)
           
 LatLong toLatLong()
          Get the Latitude & Longitude for this point.
 java.lang.String toLatLongString()
          Return a String containing values of Latitude & Longitude.referred to the current Ellipsoid & Datum
abstract  java.lang.String toString()
          Provide a String representing the position in a correct format for the CoordinateSystem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

locus

protected Position locus
The Position of this Coordinate


sph

protected Ellipsoid sph
The Ellipsoid for this point


ref

protected Datum ref
The Datum for this point

Constructor Detail

CoordinateSystem

protected CoordinateSystem()
Creates a new instance of CoordinateSystem using the default Ellipsoid and Datum


CoordinateSystem

public CoordinateSystem(Position pos,
                        Ellipsoid e,
                        Datum d)

Create a new instance of CoordinateSystem for a specific Position, Ellipsoid and Datum

Parameters:
pos - Position of the point in this CoordinateSystem
e - Ellipsoid to be used in this CoordinateSystem
d - Datum for this instance of CopordinateSystem
Method Detail

toLatLong

public LatLong toLatLong()
Get the Latitude & Longitude for this point. Note the result is referred to the current datum and ellipsoid

Returns:
LatLong object containing latitude and longitude

toLatLongString

public java.lang.String toLatLongString()
Return a String containing values of Latitude & Longitude.referred to the current Ellipsoid & Datum

Returns:
String containing Latitude & Longitude in degrees. North or East are represented by positive values, South or West are negative.

getDatum

public Datum getDatum()
Get the Datum used by this point

Returns:
The Datum associated with this point

getEllipsoid

public Ellipsoid getEllipsoid()
Get the Ellipsoid used by this point

Returns:
Ellipsoid

getName

public java.lang.String getName()

Get the name of this CoordinateSystem. By default, this method returns the short name of the class. For example, an instance of mccombe.mapping.IrishGrid returns the name "IrishGrid".

Implementers of sub-classes of CoordinateSystem are encouraged to override this method if a more descriptive name is needed

Returns:
The name of the CoordinateSystem

getPosition

public Position getPosition()
Get the Position of this point

Returns:
The Position of this point

getWGS84

public XYZ getWGS84()
Get the "absolute" cartesian coordinates for this location. These are based on the WGS-84 datum and coordinate system.

Returns:
XYZ object containing the cartesian coordinates for this point.

defaultEllipsoid

public abstract Ellipsoid defaultEllipsoid()
The default Ellipsoid used by instances of this CoordinateSystem For example, a CoordinateSystem of type OSGB has the AirySphere as its default Ellipsoid

Returns:
The Ellipsoid used as the deafult for this CoordinateSystem

defaultDatum

public abstract Datum defaultDatum()
Get the defaul Datum for an instance of CoordinateSystem. For example, instances of OSGB usually use the OSGB 1936 datum.

Returns:
The default Datum used by this instance of CoordinateSystem

toString

public abstract java.lang.String toString()
Provide a String representing the position in a correct format for the CoordinateSystem

Overrides:
toString in class java.lang.Object
Returns:
String

parseDouble

protected static double parseDouble(java.lang.String s)
                             throws java.text.ParseException
Throws:
java.text.ParseException