com.metsci.glimpse.util.geo.datum
Class Datum

java.lang.Object
  extended by com.metsci.glimpse.util.geo.datum.Datum
Direct Known Subclasses:
DatumSphere, DatumWgs84

public abstract class Datum
extends java.lang.Object

Author:
osborn

Field Summary
static DatumSphere unitSphere
           
static Datum wgs84
           
static DatumSphere wgs84sphere
           
 
Constructor Summary
Datum(double equatorialRadius, double flattening)
           
 
Method Summary
 LatLonGeo displace(LatLonGeo from, double dist, double azimuth)
           
 boolean equals(java.lang.Object obj)
           
 LatLonRect fromEnu(Vector3d enuPoint, LatLonGeo refPoint)
          Computes the ECEF-r representation of the given (east,north,up) vector given the underlying projection plane's point of tangency.
 double getAzimuth(LatLonGeo from, LatLonGeo to)
           
 double getDistance(LatLonGeo from, LatLonGeo to)
           
 DistanceAzimuth getDistanceAzimuth(LatLonGeo from, LatLonGeo to)
           
 double getEccentricity()
           
 double getEccentricitySquared()
           
 double getEquatorialRadius()
           
 double getFlattening()
           
 double getPolarRadius()
           
abstract  DatumSphere getSphereApproximation()
           
 int hashCode()
           
 boolean isSpherical()
           
 Vector3d toEnu(LatLonRect point, LatLonGeo refPoint)
          Computes the (east,north,up) representation of an ECEF-r point given the underlying projection plane's point of tangency.
 LatLonGeo toGeocentricLatitude(LatLonGeo llg)
          Projects a geodetic latitude onto a geocentric latitude using a ray through the center of the spheroid.
 LatLonGeo toGeodeticLatitude(LatLonGeo llg)
          Projects a geocentric latitude onto a geodetic latitude using a ray through the center of the sphere.
 LatLonGeo toLatLonGeo(double x, double y, double z)
           
 LatLonGeo toLatLonGeo(LatLonRect from)
           
 LatLonRect toLatLonRect(double northLatRad, double eastLonRad, double altitude)
           
 LatLonRect toLatLonRect(LatLonGeo from)
           
abstract  LatLonGeo toWgs84(LatLonGeo llg)
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

wgs84

public static final Datum wgs84

wgs84sphere

public static final DatumSphere wgs84sphere

unitSphere

public static final DatumSphere unitSphere
Constructor Detail

Datum

public Datum(double equatorialRadius,
             double flattening)
Method Detail

toWgs84

public abstract LatLonGeo toWgs84(LatLonGeo llg)

getSphereApproximation

public abstract DatumSphere getSphereApproximation()

toGeocentricLatitude

public LatLonGeo toGeocentricLatitude(LatLonGeo llg)
Projects a geodetic latitude onto a geocentric latitude using a ray through the center of the spheroid. See SpheroidUtil.geodeticToGeocentric(double, double).


toGeodeticLatitude

public LatLonGeo toGeodeticLatitude(LatLonGeo llg)
Projects a geocentric latitude onto a geodetic latitude using a ray through the center of the sphere. See SpheroidUtil.geocentricToGeodetic(double, double).


fromEnu

public LatLonRect fromEnu(Vector3d enuPoint,
                          LatLonGeo refPoint)
Computes the ECEF-r representation of the given (east,north,up) vector given the underlying projection plane's point of tangency.

Parameters:
enuPoint - (east,north,up) coordinates of point to be converted, in system units
refPoint - local tangent plane point of tangency
Returns:
ECEF-r representation of the input (east,north,up) point

toEnu

public Vector3d toEnu(LatLonRect point,
                      LatLonGeo refPoint)
Computes the (east,north,up) representation of an ECEF-r point given the underlying projection plane's point of tangency.

Parameters:
point - ECEF-r point to be transformed to (east,north,up) coordinates
refPoint - local tangent plane point of tangency
Returns:
(x,y,z) which correspond to (east, north, up) in system units

toLatLonGeo

public LatLonGeo toLatLonGeo(LatLonRect from)

toLatLonGeo

public LatLonGeo toLatLonGeo(double x,
                             double y,
                             double z)

toLatLonRect

public LatLonRect toLatLonRect(LatLonGeo from)

toLatLonRect

public LatLonRect toLatLonRect(double northLatRad,
                               double eastLonRad,
                               double altitude)

displace

public LatLonGeo displace(LatLonGeo from,
                          double dist,
                          double azimuth)

getDistance

public double getDistance(LatLonGeo from,
                          LatLonGeo to)

getAzimuth

public double getAzimuth(LatLonGeo from,
                         LatLonGeo to)

getDistanceAzimuth

public DistanceAzimuth getDistanceAzimuth(LatLonGeo from,
                                          LatLonGeo to)

getPolarRadius

public double getPolarRadius()

getEquatorialRadius

public double getEquatorialRadius()

getEccentricity

public double getEccentricity()

getEccentricitySquared

public double getEccentricitySquared()

getFlattening

public double getFlattening()

isSpherical

public boolean isSpherical()

hashCode

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

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object


Copyright © 2012 Metron, Inc.. All Rights Reserved.