edu.nrao.sss.astronomy
Interface SkyPosition

All Superinterfaces:
Cloneable, SphericalPosition
All Known Implementing Classes:
EphemerisTable, Orbit, PolynomialPosition, PolynomialPositionTable, SimpleSkyPosition, SolarSystemBodyPosition

public interface SkyPosition
extends SphericalPosition

A point on the celestial sphere.

Version Info:

$Revision: 1156 $
$Date: 2008-03-12 11:43:13 -0600 (Wed, 12 Mar 2008) $
$Author: dharland $ (last person to modify)

Since:
2007-04-13
Author:
David M. Harland

Method Summary
 SkyPosition clone()
          Returns a copy of this sky position.
 Angle getAngularSeparation(SphericalPosition other, Date time)
          Calculates current angular separation between this position and other at the given time.
 CelestialCoordinateSystem getCoordinateSystem()
          Returns the coordinate system to use when interpreting the latitude and longitude values of this position.
 Distance getDistance(Date time)
          Returns the distance of this position at the given point in time.
 Epoch getEpoch()
          Returns the epoch on which this position is based.
 Latitude getLatitude(Date time)
          Returns the latitude of this position at the given point in time.
 Longitude getLongitude(Date time)
          Returns the longitude of this position at the given point in time.
 String getOriginOfInformation()
          Returns the origin of this position's information.
 SkyPositionType getType()
          Provides a hint as to how this position stores its information.
 boolean isMoving()
          Returns true if this position has different properties at time T than it does at time U ≠ T.
 SkyPosition toPosition(CelestialCoordinateSystem system, Epoch epoch, EarthPosition observer, LocalSiderealTime lst)
          Returns a new position expressed in the given coordinate system and epoch that is equivalent to this position.
 SkyPosition toPosition(CelestialCoordinateSystem system, Epoch epoch, EarthPosition observer, LocalSiderealTime lst, CelestialCoordinateConverter converter)
          Returns a new position expressed in the given coordinate system and epoch that is equivalent to this position.
 
Methods inherited from interface edu.nrao.sss.geom.SphericalPosition
getAngularSeparation, getDistance, getDistanceUncertainty, getLatitude, getLatitudeUncertainty, getLongitude, getLongitudeUncertainty
 

Method Detail

isMoving

boolean isMoving()
Returns true if this position has different properties at time T than it does at time U ≠ T.

The determination of motion will be made with respect to the coordinate system in which this position is expressed. For example, a position that is expressed in the equatorial system, and that is holding steady at its position in that system, will said to be not moving, even though in other coordinate systems it may be moving quite rapidly.

Returns:
true if this position is moving.

getLongitude

Longitude getLongitude(Date time)
Returns the longitude of this position at the given point in time.

Classes that implement this interface are free to choose whether to return a reference to their internal longitudes, or to provide copies thereof. This means that clients of this interface should not write code that manipulates the returned object and relies on those changes being reflected in this object, unless they know they are using an implementation that returns internal references.

Parameters:
time - the point in time for which the longitude is sought.
Returns:
the longitude at the given point in time.

getLatitude

Latitude getLatitude(Date time)
Returns the latitude of this position at the given point in time.

Classes that implement this interface are free to choose whether to return a reference to their internal latitudes, or to provide copies thereof. This means that clients of this interface should not write code that manipulates the returned object and relies on those changes being reflected in this object, unless they know they are using an implementation that returns internal references.

Parameters:
time - the point in time for which the latitude is sought.
Returns:
the latitude at the given point in time.

getDistance

Distance getDistance(Date time)
Returns the distance of this position at the given point in time.

Classes that implement this interface are free to choose whether to return a reference to their internal distances, or to provide copies thereof. This means that clients of this interface should not write code that manipulates the returned object and relies on those changes being reflected in this object, unless they know they are using an implementation that returns internal references.

Parameters:
time - the point in time for which the distance is sought.
Returns:
the distance at the given point in time.

getCoordinateSystem

CelestialCoordinateSystem getCoordinateSystem()
Returns the coordinate system to use when interpreting the latitude and longitude values of this position.

Returns:
the system of latitude and longitude used by this position.

getEpoch

Epoch getEpoch()
Returns the epoch on which this position is based.

Returns:
the epoch on which this position is based.

getOriginOfInformation

String getOriginOfInformation()
Returns the origin of this position's information.

Returns:
the origin of this position's information.

getType

SkyPositionType getType()
Provides a hint as to how this position stores its information.

Returns:
a hint as to how this position stores its information.

getAngularSeparation

Angle getAngularSeparation(SphericalPosition other,
                           Date time)
Calculates current angular separation between this position and other at the given time.

The distances of the positions from the center of the sphere are not considered. The returned angle is the smallest possible such angle. It is the angular size of the arc of a great circle that passes through both the ray from the orgin to this position and the ray from the origin to other.

The returned value is never negative. This means that the returned angle does not contain directional information. That is, the angle from A to B is exactly equal to the angle from B to A.

Parameters:
other - a position from which this one is separated by the returned angle.
time - the point in time for which the separation is sought.
Returns:
the angle of separation between this position and other.

toPosition

SkyPosition toPosition(CelestialCoordinateSystem system,
                       Epoch epoch,
                       EarthPosition observer,
                       LocalSiderealTime lst)
                       throws CoordinateConversionException
Returns a new position expressed in the given coordinate system and epoch that is equivalent to this position. This position is not changed by this method.

Parameters:
system - the celestial coordinate system of the returned position.
epoch - the epoch of the returned position.
observer - the location of the observer. This value is used almost exclusively for conversions to or from the HORIZONTAL (az/el) coordinate system. If a given conversion does not require this parameter, a null value will do no harm.
lst - the local sidereal time at the observer's location. This parameter serves two purposes. First, it is integral in conversions to or from the HORIZONTAL (az/el) coordinate system. Second, even for conversions that do not depend on the observer's location, the conversion method will use the UTC time represented by this LST to determine the exact location of this position before converting it to another system. When used this way the location associated with the LST is immaterial. If this value is null it will be replaced with the current time. Using a null value is not recommended when dealing with the HORIZONTAL system because the LST may not be for the location of interest.
Returns:
a new position with a coordinate system of system, and epoch of epoch, and coordinates that represent a conversion from those of this position.
Throws:
CoordinateConversionException - if anything goes wrong with the conversion.

toPosition

SkyPosition toPosition(CelestialCoordinateSystem system,
                       Epoch epoch,
                       EarthPosition observer,
                       LocalSiderealTime lst,
                       CelestialCoordinateConverter converter)
                       throws CoordinateConversionException
Returns a new position expressed in the given coordinate system and epoch that is equivalent to this position. This position is not changed by this method.

Parameters:
system - the celestial coordinate system of the returned position.
epoch - the epoch of the returned position.
observer - the location of the observer. This value is used almost exclusively for conversions to or from the HORIZONTAL (az/el) coordinate system.
lst - the local sidereal time at the observer's location. This parameter serves two purposes. First, it is integral in conversions to or from the HORIZONTAL (az/el) coordinate system. Second, even for conversions that do not depend on the observer's location, the conversion method will use the UTC time represented by this LST to determine the exact location of this position before converting it to another system. When used this way the location associated with the LST is immaterial. If this value is null it will be replaced with the current time. Using a null value is not recommended when dealing with the HORIZONTAL system because the LST may not be for the location of interest.
converter - the converter used to perform the transformation.
Returns:
a new position with a coordinate system of system, and epoch of epoch, and coordinates that represent a conversion from those of this position.
Throws:
CoordinateConversionException - if anything goes wrong with the conversion.

clone

SkyPosition clone()
Returns a copy of this sky position.

Specified by:
clone in interface SphericalPosition
Returns:
a copy of this sky position.


Copyright © 2009. All Rights Reserved.