org.jscience.geography.coordinates
Class BaseSRF_WithEllipsoidalHeight

java.lang.Object
  extended by org.jscience.geography.coordinates.BaseSRF
      extended by org.jscience.geography.coordinates.BaseSRF_3D
          extended by org.jscience.geography.coordinates.BaseSRF_WithEllipsoidalHeight
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
BaseSRF_MapProjection, SRF_Celestiodetic, SRF_Planetodetic

public abstract class BaseSRF_WithEllipsoidalHeight
extends BaseSRF_3D

The BaseSRF_WithEllipsoidalHeight abstract class.

See Also:
BaseSRF_3D, BaseSRF

Field Summary
 
Fields inherited from class org.jscience.geography.coordinates.BaseSRF
_hsr, _internalSRFs, _myOpSeq, _mySrftCode, _orm
 
Constructor Summary
BaseSRF_WithEllipsoidalHeight()
           
 
Method Summary
static double calculateEuclideanDistance(CoordSurf coord1, CoordSurf coord2)
          Returns the euclidean distance between two coordinates.
static double calculateGeodesicDistance(CoordSurf src_coord, CoordSurf des_coord)
          Returns the geodesic distance between two surface coordinates.
 double calculateVerticalSeparationOffset(SRM_VOS_Code vos, CoordSurf surf_coord)
          Returns the vertical separation at a position.
 SRF_LocalTangentSpaceEuclidean createLocalTangentSpaceEuclideanSRF(CoordSurf surf_coord, double azimuth, double false_x_origin, double false_y_origin, double offset_height)
          Creates a Local Tangent Euclidean SRF with natural origin at a given position.
abstract  CoordSurf createSurfaceCoordinate()
          Creates a surface coordinate object with default [ Double.NaN, Double.NaN ].
abstract  CoordSurf createSurfaceCoordinate(double coord_surf_comp1, double coord_surf_comp2)
          Creates a surface coordinate object with initial values.
abstract  CoordSurf getAssociatedSurfaceCoordinate(Coord3D coord)
          Returns a surface coordinate associated with a 3D coordinate.
 BaseSRF_3D getNaturalSRFSetMember(CoordSurf src_coord, SRM_ORM_Code orm_dst, SRM_HSR_Code hsr_dst, SRM_SRFS_Code tgt_srfs)
          Computes the natural SRF Set member instance that the surface coordinate is located in the target SRF Set.
 int getNaturalSRFSetMemberCode(CoordSurf src_coord, SRM_ORM_Code orm_dst, SRM_HSR_Code hsr_dst, SRM_SRFS_Code tgt_srfs)
          Computes the natural SRF Set member code (region) where the Surface coordinate is located in the target SRF Set.
abstract  Coord3D getPromotedSurfaceCoordinate(CoordSurf surf_coord)
          Returns a 3D coordinate representing the same location as specified by a surface coordinate.
 double[] getSurfaceCoordinateValues(CoordSurf coord_surf)
          Retrieves a coordinate surface component values
 
Methods inherited from class org.jscience.geography.coordinates.BaseSRF_3D
calculateEuclideanDistance, changeCoordinate3DSRF, changeDirectionSRF, changeOrientationSRF, checkDirection, checkOrientation, createCoordinate3D, createCoordinate3D, createDirection, createDirection, createOrientation, createOrientation, createOrientation, getCoordinate3DValues, getDirectionValues, getMemberCode, getNaturalSRFSetMember, getNaturalSRFSetMemberCode, getOrientationValues, instanceAbstractSpaceCoordinate
 
Methods inherited from class org.jscience.geography.coordinates.BaseSRF
calculateEuclideanDistance, changeCoordinateSRF, checkCoordinate, createSRFSetMember, createStandardSRF, get_hsr, get_orm, getSRFCode, getSRFSetCode, getSRFSetMemberCode, getSRFTemplateCode, isEqual, makeClone, setSrfCode, setSrfSetCode, setSrfSetMemberCode, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BaseSRF_WithEllipsoidalHeight

public BaseSRF_WithEllipsoidalHeight()
Method Detail

createSurfaceCoordinate

public abstract CoordSurf createSurfaceCoordinate()
Creates a surface coordinate object with default [ Double.NaN, Double.NaN ].

Returns:
a surface coordinate object

createSurfaceCoordinate

public abstract CoordSurf createSurfaceCoordinate(double coord_surf_comp1,
                                                  double coord_surf_comp2)
Creates a surface coordinate object with initial values.

Parameters:
coord_surf_comp1 - in: the values of the first component of the surface coordinate
coord_surf_comp2 - in: the values of the second component of the surface coordinate
Returns:
a surface coordinate object

getSurfaceCoordinateValues

public double[] getSurfaceCoordinateValues(CoordSurf coord_surf)
                                    throws SrmException
Retrieves a coordinate surface component values

Parameters:
coord_surf - in: a surface coordinate
Returns:
an array of size 2 containing the component values for the surface coordinate
Throws:
SrmException

getAssociatedSurfaceCoordinate

public abstract CoordSurf getAssociatedSurfaceCoordinate(Coord3D coord)
                                                  throws SrmException
Returns a surface coordinate associated with a 3D coordinate.

Parameters:
coord - in: a 3D coordinate in this SRF
Returns:
a surface coordinate object in this SRF
Throws:
SrmException

getPromotedSurfaceCoordinate

public abstract Coord3D getPromotedSurfaceCoordinate(CoordSurf surf_coord)
                                              throws SrmException
Returns a 3D coordinate representing the same location as specified by a surface coordinate.

Parameters:
coord - in: a surface coordinate in this SRF
Returns:
a 3D coordinate object in this SRF
Throws:
SrmException

createLocalTangentSpaceEuclideanSRF

public SRF_LocalTangentSpaceEuclidean createLocalTangentSpaceEuclideanSRF(CoordSurf surf_coord,
                                                                          double azimuth,
                                                                          double false_x_origin,
                                                                          double false_y_origin,
                                                                          double offset_height)
                                                                   throws SrmException
Creates a Local Tangent Euclidean SRF with natural origin at a given position.

Parameters:
surf_coord - in: a surface coordinate
azimuth - in: the LTE's azimuth parameter
false_x_origin - in: the LTE's false x origin
false_y_origin - in: the LTE's false y origin
offset_height - in: the LTE's offset height
Returns:
a local tangent euclidean object
Throws:
SrmException

getNaturalSRFSetMemberCode

public int getNaturalSRFSetMemberCode(CoordSurf src_coord,
                                      SRM_ORM_Code orm_dst,
                                      SRM_HSR_Code hsr_dst,
                                      SRM_SRFS_Code tgt_srfs)
                               throws SrmException
Computes the natural SRF Set member code (region) where the Surface coordinate is located in the target SRF Set.

Parameters:
src_coord - in : the source surface coordinate in an SRF
orm_dst - in : the ORM for the destination SRF Set
hsr_dst - in : the HSR for the destination SRF Set
tgt_srfs - in : the destination SRF Set Code
Returns:
the SRF Set Member code for the destination SRF Set
Throws:
SrmException

getNaturalSRFSetMember

public BaseSRF_3D getNaturalSRFSetMember(CoordSurf src_coord,
                                         SRM_ORM_Code orm_dst,
                                         SRM_HSR_Code hsr_dst,
                                         SRM_SRFS_Code tgt_srfs)
                                  throws SrmException
Computes the natural SRF Set member instance that the surface coordinate is located in the target SRF Set.

Parameters:
src_coord - in : the source surface coordinate in an SRF
orm_dst - in : the ORM for the destination SRF Set
hsr_dst - in : the Hsr for the destination SRF Set
tgt_srfs - in : the destination SRF Set Code
Returns:
the SRF Set Member instance for the destination SRF Set
Throws:
SrmException

calculateEuclideanDistance

public static double calculateEuclideanDistance(CoordSurf coord1,
                                                CoordSurf coord2)
                                         throws SrmException
Returns the euclidean distance between two coordinates.

Parameters:
coord1 - in: a coordinate in some SRF
coord2 - in: a coordinate in some SRF
Returns:
the Euclidean distance between the two CoordSurf coordinates (in meters).
Throws:
SrmException

calculateGeodesicDistance

public static double calculateGeodesicDistance(CoordSurf src_coord,
                                               CoordSurf des_coord)
                                        throws SrmException
Returns the geodesic distance between two surface coordinates.

Parameters:
src_coord - in: the source surface coordinate in this SRF
des_coord - in: the destination surface coordinate in this SRF
Returns:
the geodesic distance between the two surface coordinates (in meters)
Throws:
SrmException

calculateVerticalSeparationOffset

public double calculateVerticalSeparationOffset(SRM_VOS_Code vos,
                                                CoordSurf surf_coord)
                                         throws SrmException
Returns the vertical separation at a position.

Parameters:
vos - in: the reference vertical offset surface model
surf_coord - in: the surface coordinate in this SRF
Returns:
the vertical separation distance (in meters)
Throws:
SrmException