HiRISE

HiRISE.HiPlan.HiSEAS
Class AbstractObservation

java.lang.Object
  extended by HiRISE.HiPlan.HiSEAS.AbstractObservation
All Implemented Interfaces:
Observation
Direct Known Subclasses:
MroObservation, SimpleObservation

public abstract class AbstractObservation
extends Object
implements Observation

A skeletal implementation of the observation interface. This implementation uses a BasicObservationData model for the observation's data.

Version:
1.3
Author:
Christian Schaller - UA/PIRL

Field Summary
protected  BasicObservationData basicObservationData
          The backing basic observation data model.
static String ID
          Class identification name with source code version and date.
 
Constructor Summary
protected AbstractObservation(BasicObservationData basicObservationData)
          Constructs a new abstract observation from a basic observation data model.
 
Method Summary
 double getAltitude()
          Gets the altitude of the observer in kilometers above the target body's reference ellipsoid.
abstract  String getComment()
          Gets the observation's comment.
 double getEmissionAngle()
          Gets the emission angle at the target site for this observation.
 double getEt()
          Gets the ephemeris time of the observation.
 double getIncidenceAngle()
          Gets the incidence angle at the target site for this observation.
abstract  String getLabel()
          Gets the observation's label.
 double getLatitude()
          Gets the planetocentric latitude of the observer with respect to the target body in the observer's reference frame.
 double getLongitude()
          Gets the east-leading longitude of the observer with respect to the target body in the observer's reference frame.
 Observer getObserver()
          Gets the observation's observer.
 double getPhaseAngle()
          Gets the phase angle at the target site for this observation.
 Triplet getPositionVector()
          Gets the position vector of the observer with respect to the target body at the observation's ephemeris time.
 double getSolarAltitude()
          Gets the altitude of the sun at the time of the observation.
 double getSolarAzimuth()
          Gets the azimuth of the sun at the time of the observation.
 double getSolarDeclination()
          Gets the declination of the sun at the time of the observation.
 double getSolarLongitude()
          Gets the solar longitude at the time of the observation.
 double getSolarRightAscension()
          Gets the right ascension of the sun at the time of the observation.
 double getSubsolarLatitude()
          Gets the planetocentric latitude of the subsolar point on the target body.
 double getSubsolarLatitudeSlope()
          Gets the time rate of change of the planetocentric latitude of the subsolar point on the target body.
 double getSubsolarLongitude()
          Gets the east-leading longitude of the subsolar point on the target body.
 double getSubsolarLongitudeSlope()
          Gets the time rate of change of the east-leading longitude of the subsolar point on the target body.
 Target getTarget()
          Gets the observation's target.
 Triplet getVelocityVector()
          Gets the velocity vector of the observer with respect to the target body at the observation's ephemeris time.
 Triplet getViewVector()
          Gets the vector between the observer and the target site at the observation's ephemeris time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public static final String ID
Class identification name with source code version and date.

See Also:
Constant Field Values

basicObservationData

protected final BasicObservationData basicObservationData
The backing basic observation data model.

Constructor Detail

AbstractObservation

protected AbstractObservation(BasicObservationData basicObservationData)
Constructs a new abstract observation from a basic observation data model.

Parameters:
basicObservationData - the basic observation data model for this abstract observation.
Method Detail

getObserver

public Observer getObserver()
Gets the observation's observer.

Specified by:
getObserver in interface Observation
Returns:
the observation's observer.

getTarget

public Target getTarget()
Gets the observation's target.

Specified by:
getTarget in interface Observation
Returns:
the observation's target.

getEt

public double getEt()
Gets the ephemeris time of the observation.

Specified by:
getEt in interface Observation
Returns:
the ephemeris time of the observation.

getPositionVector

public Triplet getPositionVector()
Gets the position vector of the observer with respect to the target body at the observation's ephemeris time. Units are kilometers.

Specified by:
getPositionVector in interface Observation
Returns:
the observer's position vector in kilometers.

getVelocityVector

public Triplet getVelocityVector()
Gets the velocity vector of the observer with respect to the target body at the observation's ephemeris time. Units are kilometers/second.

Specified by:
getVelocityVector in interface Observation
Returns:
the observer's velocity vector in kilometers/second.

getViewVector

public Triplet getViewVector()
Gets the vector between the observer and the target site at the observation's ephemeris time. The target site is the vector's origin. Units are kilometers.

Specified by:
getViewVector in interface Observation
Returns:
the observation's view vector in kilometers.

getLongitude

public double getLongitude()
Gets the east-leading longitude of the observer with respect to the target body in the observer's reference frame.

Specified by:
getLongitude in interface Observation
Returns:
the observer's east-leading longitude in radians.

getLatitude

public double getLatitude()
Gets the planetocentric latitude of the observer with respect to the target body in the observer's reference frame.

Specified by:
getLatitude in interface Observation
Returns:
the observer's planetocentric latitude in radians.

getAltitude

public double getAltitude()
Gets the altitude of the observer in kilometers above the target body's reference ellipsoid.

Specified by:
getAltitude in interface Observation
Returns:
the observer's altitude in km.

getSolarLongitude

public double getSolarLongitude()
Gets the solar longitude at the time of the observation. This longitude, Ls, is a measure of the season.

Specified by:
getSolarLongitude in interface Observation
Returns:
the solar longitude in radians.

getSolarRightAscension

public double getSolarRightAscension()
Gets the right ascension of the sun at the time of the observation. The right ascension is computed in the observer's frame.

Specified by:
getSolarRightAscension in interface Observation
Returns:
the solar right ascension in radians.

getSolarDeclination

public double getSolarDeclination()
Gets the declination of the sun at the time of the observation. The declination is computed in the observer's frame.

Specified by:
getSolarDeclination in interface Observation
Returns:
the solar declination in radians.

getSolarAltitude

public double getSolarAltitude()
Gets the altitude of the sun at the time of the observation. The solar altitude is angle between the Sun's rays and the ground plane as viewed from the target site in the observer's frame.

Altitude is also known as elevation.

Specified by:
getSolarAltitude in interface Observation
Returns:
the solar altitude in radians.

getSolarAzimuth

public double getSolarAzimuth()
Gets the azimuth of the sun at the time of the observation. The solar azimuth is the (clockwise) compass angle of the Sun's position as viewed from the target site, relative to due north, in the observer's frame.

Specified by:
getSolarAzimuth in interface Observation
Returns:
the solar azimuth in radians.

getSubsolarLongitude

public double getSubsolarLongitude()
Gets the east-leading longitude of the subsolar point on the target body.

Specified by:
getSubsolarLongitude in interface Observation
Returns:
the east-leading subsolar longitude in radians.

getSubsolarLatitude

public double getSubsolarLatitude()
Gets the planetocentric latitude of the subsolar point on the target body.

Specified by:
getSubsolarLatitude in interface Observation
Returns:
the planetocentric subsolar latitude in radians.

getSubsolarLongitudeSlope

public double getSubsolarLongitudeSlope()
Gets the time rate of change of the east-leading longitude of the subsolar point on the target body.

Specified by:
getSubsolarLongitudeSlope in interface Observation
Returns:
the east-leading subsolar longitude rate of change in radians per second.

getSubsolarLatitudeSlope

public double getSubsolarLatitudeSlope()
Gets the time rate of change of the planetocentric latitude of the subsolar point on the target body.

Specified by:
getSubsolarLatitudeSlope in interface Observation
Returns:
the planetocentric subsolar latitude rate of change in radians per second.

getPhaseAngle

public double getPhaseAngle()
Gets the phase angle at the target site for this observation.

Specified by:
getPhaseAngle in interface Observation
Returns:
the phase angle in radians.

getIncidenceAngle

public double getIncidenceAngle()
Gets the incidence angle at the target site for this observation.

Specified by:
getIncidenceAngle in interface Observation
Returns:
the incidence angle in radians.

getEmissionAngle

public double getEmissionAngle()
Gets the emission angle at the target site for this observation.

Specified by:
getEmissionAngle in interface Observation
Returns:
the emission angle in radians.

getLabel

public abstract String getLabel()
Gets the observation's label.

Specified by:
getLabel in interface Observation
Returns:
the observation's label.

getComment

public abstract String getComment()
Gets the observation's comment.

Specified by:
getComment in interface Observation
Returns:
the observation's comment.

HiRISE

Copyright (C) Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar and Planetary Laboratory at the University of Arizona