Jeospace API

org.jeospace.coordinate
Class PositionUtils

java.lang.Object
  extended byorg.jeospace.coordinate.PositionUtils

public abstract class PositionUtils
extends java.lang.Object

Utility functions for calculating useful coordinate information.

Version:
$Revision: 1.1.1.1 $
Author:
Rex Melton

Constructor Summary
PositionUtils()
           
 
Method Summary
static Length getDistance(Ellipsoidal coordinate1, Ellipsoidal coordinate2)
          Return a Length object representing the ellipsoidal surface distance (orthodromic distance) between the two input coordinates.
static void getTargetCoordinate(Polar initial, Longitude azimuth, Angle angularSeparation, Polar target)
          Calculate a target position in longitude and latitude given an initial position a heading and an angular distance.
static void getVisibleRadius(Ellipsoidal ellipsoidal, Angle radiusAngle)
          Calculate the visible radius on the surface of an ellipsoid of the point defined by the argument ellipsoidal coordinate and place the result into the argument Angle object.
static void getVisibleRadius(Spherical spherical, Ellipsoid ellipsoid, Angle radiusAngle)
          Calculate the visible radius on the surface of an ellipsoid of the point defined by the argument ellipsoid-centric fixed coordinate and place the result into the argument Angle object.
static Latitude longitudeCrossing(Longitude longitude, Polar p1, Polar p2)
          Calculate the latitude at which a great circle crosses a line of longitude.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PositionUtils

public PositionUtils()
Method Detail

longitudeCrossing

public static Latitude longitudeCrossing(Longitude longitude,
                                         Polar p1,
                                         Polar p2)
Calculate the latitude at which a great circle crosses a line of longitude. Algorithm from: Aviation Formulary

Parameters:
longitude - - The line of longitude for which to calculate the requested latitude.
p1 - An end point defining the great circle.
p2 - An end point defining the great circle.
Returns:
The latitude.

getTargetCoordinate

public static void getTargetCoordinate(Polar initial,
                                       Longitude azimuth,
                                       Angle angularSeparation,
                                       Polar target)
Calculate a target position in longitude and latitude given an initial position a heading and an angular distance. Algorithm from: Aviation Formulary

Parameters:
initial - The initial position
azimuth - The heading, a longitude with North defined as 0 degrees and South as 180 degrees.
angularSeparation - The distance from the initial to the target position as an angular measurement.
target - The coordinate object to initialize with the destination position. Only the target longitude and latitude are initialized.

getDistance

public static Length getDistance(Ellipsoidal coordinate1,
                                 Ellipsoidal coordinate2)
Return a Length object representing the ellipsoidal surface distance (orthodromic distance) between the two input coordinates. The Length will be the shortest great circle segment connecting the two end-points along the surface of the ellipsoid. The elevation component of the coordinates is ignored. The coordinates must be referenced to the same Ellipsoid. If not then null is returned.

Parameters:
coordinate1 - The first end-point coordinate.
coordinate2 - The second end-point coordinate.
Returns:
the distance in a Length object.

getVisibleRadius

public static void getVisibleRadius(Spherical spherical,
                                    Ellipsoid ellipsoid,
                                    Angle radiusAngle)
Calculate the visible radius on the surface of an ellipsoid of the point defined by the argument ellipsoid-centric fixed coordinate and place the result into the argument Angle object.

Parameters:
spherical - The ellipsoid-centric fixed coordinate for which to calculate the visible radius.
ellipsoid - The ellipsoid surface to perform the calculation on
radiusAngle - The Angle object to initialize with the results of the calculation.

getVisibleRadius

public static void getVisibleRadius(Ellipsoidal ellipsoidal,
                                    Angle radiusAngle)
Calculate the visible radius on the surface of an ellipsoid of the point defined by the argument ellipsoidal coordinate and place the result into the argument Angle object.

Parameters:
ellipsoidal - The ellipsoidal coordinate for which to calculate the visible radius.
radiusAngle - The Angle object to initialize with the results of the calculation.

Jeospace API

Copyright © 2006 - jeospace.org