drasys.or.geom.geo.proj
Class Projection

java.lang.Object
  |
  +--drasys.or.geom.geo.proj.Projection
Direct Known Subclasses:
Conic, Mercator

public abstract class Projection
extends java.lang.Object
implements ProjectionI

A base class shared by all projection classes. The ellipsoid used for the projection is initialized to the current ellipsoid in 'geo.CordinateSystem'.


Field Summary
protected  double _e
           
protected  double _e2
           
protected  double _easting
           
protected  EllipsoidI _ellipsoid
           
protected  double _er
           
protected  double _halfE
           
protected  double _northing
           
protected  double _oneMinusE2
           
 
Constructor Summary
Projection()
          Construct the base projection.
 
Method Summary
 RangeI forward(RangeI range)
          Returns a projected range.
 PointI forwardTransform(PointI point)
          Returns a transformed point.
 RangeI forwardTransform(RangeI range)
          Returns a transformed range.
 double getEasting()
          Gets the easting value for the projection.
 EllipsoidI getEllipsoid()
          Gets the ellipsoid used by the projection.
 double getNorthing()
          Gets the northing value for the projection.
 CoordinateSystemI inputCoordinateSystem()
          Always returns 'geo.CoordinateSystem';
 RangeI inverse(RangeI range)
          Returns an inverse projected range.
 PointI inverseTransform(PointI point)
          Returns an inverse transformed point.
 RangeI inverseTransform(RangeI range)
          Returns an inverse transformed range.
protected  double msfn(double radians)
           
protected  double msfn(double sin, double cos)
           
 CoordinateSystemI outputCoordinateSystem()
          Always returns 'rect2.CoordinateSystem';
protected  double phi1(double qs)
           
protected  double phi2(double ts)
           
protected  double qsfn(double sin)
           
 void setEasting(double easting)
          Sets the easting value for the projection.
 void setEllipsoid(EllipsoidI ellipsoid)
          Gets the ellipsoid used by projections.
 void setNorthing(double northing)
          Sets the northing value for the projection.
protected  double tsfn(double radians)
           
protected  double tsfn(double radians, double sin)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_easting

protected double _easting

_northing

protected double _northing

_e

protected double _e

_e2

protected double _e2

_er

protected double _er

_halfE

protected double _halfE

_oneMinusE2

protected double _oneMinusE2

_ellipsoid

protected EllipsoidI _ellipsoid
Constructor Detail

Projection

public Projection()
Construct the base projection. The initial ellipsoid will be ellipsoid returned from 'geo.CoordinateSystem.getEllipsoid()'.
Method Detail

setEasting

public void setEasting(double easting)
Sets the easting value for the projection. The easting value will be added to all projected 'x' coordinates after the transform and subtracted from from all inverse projected 'x' coordinates before the inverse transform.
Specified by:
setEasting in interface ProjectionI

getEasting

public double getEasting()
Gets the easting value for the projection. The easting value will be added to all projected 'x' coordinates after the transform and subtracted from from all inverse projected 'x' coordinates before the inverse transform.
Specified by:
getEasting in interface ProjectionI

setNorthing

public void setNorthing(double northing)
Sets the northing value for the projection. The northing value will be added to all projected 'y' coordinates after the transform and subtracted from from all inverse projected 'y' coordinates before the inverse transform.
Specified by:
setNorthing in interface ProjectionI

getNorthing

public double getNorthing()
Gets the northing value for the projection. The northing value will be added to all projected 'y' coordinates after the transform and subtracted from from all inverse projected 'y' coordinates before the inverse transform.
Specified by:
getNorthing in interface ProjectionI

getEllipsoid

public EllipsoidI getEllipsoid()
Gets the ellipsoid used by the projection.

setEllipsoid

public void setEllipsoid(EllipsoidI ellipsoid)
Gets the ellipsoid used by projections.
Specified by:
setEllipsoid in interface ProjectionI

inputCoordinateSystem

public CoordinateSystemI inputCoordinateSystem()
Always returns 'geo.CoordinateSystem';

outputCoordinateSystem

public CoordinateSystemI outputCoordinateSystem()
Always returns 'rect2.CoordinateSystem';

forwardTransform

public PointI forwardTransform(PointI point)
                        throws GeomException
Returns a transformed point. Converts from the input coordinate system to the output coordinate system.

inverseTransform

public PointI inverseTransform(PointI point)
                        throws GeomException
Returns an inverse transformed point. Converts from the output coordinate system to the input coordinate system.

forwardTransform

public RangeI forwardTransform(RangeI range)
                        throws GeomException
Returns a transformed range. Converts from the input coordinate system to the output coordinate system.

inverseTransform

public RangeI inverseTransform(RangeI range)
                        throws GeomException
Returns an inverse transformed range. Converts from the output coordinate system to the input coordinate system.

forward

public RangeI forward(RangeI range)
               throws GeomException
Returns a projected range. Converts from the 'geo' coordinate system to the 'rect2' coordinate system.
Specified by:
forward in interface ProjectionI

inverse

public RangeI inverse(RangeI range)
               throws GeomException
Returns an inverse projected range. Converts from the 'rect2' coordinate system to the 'geo' coordinate system.
Specified by:
inverse in interface ProjectionI

msfn

protected double msfn(double radians)

msfn

protected double msfn(double sin,
                      double cos)

tsfn

protected double tsfn(double radians)

tsfn

protected double tsfn(double radians,
                      double sin)

phi2

protected double phi2(double ts)

phi1

protected double phi1(double qs)

qsfn

protected double qsfn(double sin)


Copyright(C)1997-2000 by DRA Systems all rights reserved. OpsResearch.com