com.bbn.openmap.proj.coords
Class ECEFPoint

java.lang.Object
  extended by com.bbn.openmap.proj.coords.ECEFPoint

public class ECEFPoint
extends java.lang.Object

From: http://www.commlinx.com.au/Datum%20Transformation%20Description.html :

The Cartesian coordinate frame of reference used in GPS/GLONASS is called Earth-Centered, Earth-Fixed (ECEF). ECEF uses three-dimensional XYZ coordinates (in meters) to describe the location of a GPS user or satellite. The term "Earth- Centered" comes from the fact that the origin of the axis (0,0,0) is located at the mass center of gravity (determined through years of tracking satellite trajectories). The term "Earth-Fixed" implies that the axes are fixed with respect to the earth (that is, they rotate with the earth). The Z-axis pierces the North Pole, and the XY-axis defines the equatorial plane (Figure 1).

ECEF coordinates are expressed in a reference system that is related to mapping representations. Because the earth has a complex shape, a simple, yet accurate, method to approximate the earth's shape is required. The use of a reference ellipsoid allows for the conversion of the ECEF coordinates to the more commonly used geodetic-mapping coordinates of Latitude, Longitude, and Altitude (LLA).


Field Summary
protected static double EQUIVALENT_TOLERANCE
           
protected  double x_
           
protected  double y_
           
protected  double z_
           
 
Constructor Summary
ECEFPoint()
          Construct a default ECEFPoint.
ECEFPoint(double x, double y, double z)
          Construct an ECEFPoint
ECEFPoint(ECEFPoint pt)
          Construct an ECEFPoint
ECEFPoint(float x, float y, float z)
          Construct an ECEFPoint
 
Method Summary
 boolean equals(java.lang.Object obj)
          Determines whether two ECEFPoints are equal.
 LatLonPoint getLatLon()
          Return a LatLonPoint in WGS 84
 java.awt.geom.Point2D getLatLon(Ellipsoid ellip, java.awt.geom.Point2D ret)
          Return a Point2D in the given Ellipsoid with longitude as x and latitude as y
 LatLonPoint getLatLon(LatLonPoint instance)
          Return a LatLonPoint in WGS 84
 double getx()
          Get x
 double gety()
          Get y
 double getz()
          Get z
 int hashCode()
           
static ECEFPoint LLtoECEF(LatLonPoint llpoint)
           
static ECEFPoint LLtoECEF(LatLonPoint llpoint, ECEFPoint ecef)
           
 void read(java.io.DataInputStream s)
          Read object.
 void setECEF(double x, double y, double z)
          Set x y z.
 void setECEF(ECEFPoint pt)
          Set ECEFPoint.
 void setLatLon(double lat, double lon, Ellipsoid ellip)
          Set an ECEFPoint from a Lat, Lon
 void setLatLon(float lat, float lon)
          Set an ECEFPoint from a Lat, Lon
 void setLatLon(LatLonPoint pt)
          Set an ECEFPoint from a LatLonPoint
 void setx(double x)
          Set x.
 void sety(double y)
          Set y.
 void setz(double z)
          Set z.
 java.lang.String toString()
          Returns a string representation of the object.
 void write(java.io.DataOutputStream s)
          Write object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EQUIVALENT_TOLERANCE

protected static double EQUIVALENT_TOLERANCE

x_

protected double x_

y_

protected double y_

z_

protected double z_
Constructor Detail

ECEFPoint

public ECEFPoint()
Construct a default ECEFPoint.


ECEFPoint

public ECEFPoint(double x,
                 double y,
                 double z)
Construct an ECEFPoint


ECEFPoint

public ECEFPoint(ECEFPoint pt)
Construct an ECEFPoint

Parameters:
pt - ECEFPoint

ECEFPoint

public ECEFPoint(float x,
                 float y,
                 float z)
Construct an ECEFPoint

Method Detail

LLtoECEF

public static ECEFPoint LLtoECEF(LatLonPoint llpoint)

LLtoECEF

public static ECEFPoint LLtoECEF(LatLonPoint llpoint,
                                 ECEFPoint ecef)

toString

public java.lang.String toString()
Returns a string representation of the object.

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

setx

public void setx(double x)
Set x.


sety

public void sety(double y)
Set y.


setz

public void setz(double z)
Set z.


setECEF

public void setECEF(double x,
                    double y,
                    double z)
Set x y z.


setECEF

public void setECEF(ECEFPoint pt)
Set ECEFPoint.


getx

public double getx()
Get x


gety

public double gety()
Get y


getz

public double getz()
Get z


equals

public boolean equals(java.lang.Object obj)
Determines whether two ECEFPoints are equal.

Overrides:
equals in class java.lang.Object
Parameters:
obj - Object
Returns:
Whether the two points are equal

write

public void write(java.io.DataOutputStream s)
           throws java.io.IOException
Write object.

Parameters:
s - DataOutputStream
Throws:
java.io.IOException

read

public void read(java.io.DataInputStream s)
          throws java.io.IOException
Read object.

Parameters:
s - DataInputStream
Throws:
java.io.IOException

setLatLon

public void setLatLon(LatLonPoint pt)
Set an ECEFPoint from a LatLonPoint

Parameters:
pt - LatLonPoint

setLatLon

public void setLatLon(float lat,
                      float lon)
Set an ECEFPoint from a Lat, Lon


setLatLon

public void setLatLon(double lat,
                      double lon,
                      Ellipsoid ellip)
Set an ECEFPoint from a Lat, Lon


getLatLon

public LatLonPoint getLatLon()
Return a LatLonPoint in WGS 84


getLatLon

public LatLonPoint getLatLon(LatLonPoint instance)
Return a LatLonPoint in WGS 84


getLatLon

public java.awt.geom.Point2D getLatLon(Ellipsoid ellip,
                                       java.awt.geom.Point2D ret)
Return a Point2D in the given Ellipsoid with longitude as x and latitude as y


hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details