public class Time_Utilities
extends java.lang.Object
Most of these methods require at least a leapseconds kernel (LSK)
and a spacecraft clock kernel (SCLK) to be loaded into the SPICE
system prior to their invocation. These kernels may be loaded via Kernel_Utilities
, SPICE_Menu
, or JSpice.furnshc(StringBuffer)
, or they may be loaded via the instantiation
of an MttLayer
. If the kernel
pool does not contain the required kernels, these methods will throw
SPICE_Exception
s.
Modifier and Type | Class and Description |
---|---|
static class |
Time_Utilities.LineTimeAssay
A HiRISE line time and a list of messages that arose during its calculation.
|
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_LINE_TIME
The default line time in microseconds.
|
static java.lang.String |
ID
Class identification name with source code version and date.
|
Modifier and Type | Method and Description |
---|---|
static Time_Utilities.LineTimeAssay |
computeLineTime(Observation_Record observation)
Computes the line time for a given observation.
|
static double |
ephemeris_time(java.util.Date scet)
Converts the given time text into a SPICE ephemeris time.
|
static double |
ephemeris_time(java.lang.String scet)
Converts the given SCET text into a SPICE ephemeris time.
|
static double |
line_time(java.util.Date time,
double roll_angle)
Computes the line time for the observation given the time of the observation
and the spacecraft roll angle.
|
static double |
line_time(java.util.Date time,
double roll_angle,
double elevation)
Computes the line time for the observation given the time of the observation,
the spacecraft roll angle, and the elevation of the target point.
|
static double |
line_time(double et,
double roll_angle)
Computes the line time for the observation given the ephemeris time of the
observation and the spacecraft roll angle.
|
static double |
line_time(double et,
double roll_angle,
double elevation)
Computes the line time for the observation given the ephemeris time of the
observation, the spacecraft roll angle, and the elevation of the target
point.
|
static double |
line_time(java.lang.String time,
double roll_angle)
Computes the line time for the observation given the ephemeris time of the
observation and the spacecraft roll angle.
|
static double |
line_time(java.lang.String time,
double roll_angle,
double elevation)
Computes the line time for the observation given the ephemeris time of the
observation, the spacecraft roll angle, and the elevation of the target
point.
|
public static final java.lang.String ID
public static final double DEFAULT_LINE_TIME
public static double ephemeris_time(java.lang.String scet) throws SPICE_Exception
scet
- the SCET text.SPICE_Exception
- if there is a problem converting the time.public static double ephemeris_time(java.util.Date scet) throws SPICE_Exception
scet
- the SCET.SPICE_Exception
- if there is a problem converting the time.public static double line_time(double et, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
At present, this method uses the JS
utilities from the ASU package.
These utilities have some overhead unnecessary to the strict computation of
line time for HiRISE: they use the JMARS configuration system and the JMARS
logging system.
The current algorithm for calculating ground speed, which is needed to calculate line time, finds the point on the surface of Mars at which HiRISE is pointed at time et. It then finds the point at a time delta t later (0.05 seconds). The difference between the two, divided by the time difference, yields an approximation for ground speed.
Note: Line time is also known as scan exposure duration.
et
- the ephemeris time of the center point of the observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.elevation
- the elevation of the center point of the observation
target in km.SPICE_Exception
- if there is a problem computing the line time.public static double line_time(double et, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
et
- the ephemeris time of the center point of the observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
- if there is a problem computing the line time.line_time(double,double,double)
public static double line_time(java.lang.String time, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
- the ephemeris time text of the center point of the
observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.elevation
- the elevation of the center point of the observation
target in km.SPICE_Exception
- if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(java.lang.String time, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
- the ephemeris time text of the center point of the
observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
- if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(java.util.Date time, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
- the time of the center point of the observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.elevation
- the elevation of the center point of the observation
target in km.SPICE_Exception
- if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(java.util.Date time, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
- the time of the center point of the observation.roll_angle
- the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
- if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static Time_Utilities.LineTimeAssay computeLineTime(Observation_Record observation)
If the observation uses manual delay
, its predict time is offset appropriately based on the delay duration
. Otherwise, the predict time
is used directly. Note that
if the predict time is null, the resulting line time is also
null, regardless of the delay settings.
The offset center
altitude
of the target site is used, if non-null; otherwise the altitude
is used. If both altitudes are
null, an altitude of 0 km is assumed.
The roll angle
is used
directly; if null, the roll angle is assumed to be 0.
observation
- the observation for which line time is to be computed;
may not be null, although its relevant parameters may be.Copyright \ (C) Arizona Board of Regents on behalf of the \ Planetary Image Research Laboratory, Lunar and \ Planetary Laboratory at the University of Arizona