Astro::Coords::Elements - Specify astronomical coordinates using orbital
elements
$c = new Astro::Coords::Elements( elements => \%elements );
This class is used by "Astro::Coords" for
handling coordinates specified as orbital elements.
- new
- Instantiate a new object using the supplied options.
$c = new Astro::Coords::Elements( elements => \%elements );
$c = new Astro::Coords::Elements( elements => \@array );
Returns undef on error.
The elements can be specified either by using a reference to
an array returned by the "array()"
method of another elements object or in a reference to a hash containing
the following keys:
suitable for the major planets:
EPOCH = epoch of elements t0 (TT MJD)
ORBINC = inclination i (radians)
ANODE = longitude of the ascending node [$\Omega$] (radians)
PERIH = longitude of perihelion [$\varpi$] (radians)
AORQ = mean distance a (AU)
E = eccentricity e
AORL = mean longitude L (radians)
DM = daily motion n (radians)
suitable for minor planets:
EPOCH = epoch of elements t0 (TT MJD)
ORBINC = inclination i (radians)
ANODE = longitude of the ascending node [$\Omega$] (radians)
PERIH = argument of perihelion [$\omega$] (radians)
AORQ = mean distance a (AU)
E = eccentricity e
AORL = mean anomaly M (radians)
suitable for comets:
EPOCH = epoch of elements t0 (TT MJD)
ORBINC = inclination i (radians)
ANODE = longitude of the ascending node [$\Omega$] (radians)
PERIH = argument of perihelion [$\omega$] (radians)
AORQ = perihelion distance q (AU)
E = eccentricity e
EPOCHPERIH = epoch of perihelion T (TT MJD)
See the documentation to palPlante() and
palPertel() for more information. Keys must be upper case.
For comets if the only one epoch is specified it is assumed
that the epochs are identical. This may cause problems if the epochs are
not really close to each other.
In order to better match normal usage, EPOCH can also be
specified as a string of the form 'YYYY mmm D.frac' (e.g. '1997 Apr
1.567'). (no decimal place after the month). This is the format used by
JPL.
- elements
- Returns the hash containing the elements.
%el = $c->elements;
- array
- Return back 11 element array with first element containing the string
"ELEMENTS", the next two elements as undef and up to 8 following
elements containing the orbital elements in the order presented in the
documentation of the constructor.
This method returns a standardised set of elements across all
types of coordinates.
Note that for JFORM=3 (Comet) case the epoch of perihelion is
stored as the 8th element (the epoch of the elements is still returned
as the first element) [corresponding to array index 10]. This usage of
the final element can be determined by noting that the element before it
(AORL) will be undefined in the case of JFORM=3. If AORL is defined then
the Epoch of perihelion will not be written even if it is defined.
- type
- Returns the generic type associated with the coordinate system. For this
class the answer is always "ELEMENTS".
This is used to aid construction of summary tables when using
mixed coordinates.
It could be done using isa relationships.
- stringify
- Stringify overload. Returns comma-separated list of the elements.
- summary
- Return a one line summary of the coordinates. In the future will accept
arguments to control output.
$summary = $c->summary();
- apparent
- Return the apparent RA and Dec (as two
"Astro::Coords::Angle" objects) for the
current coordinates and time. Includes perterbation corrections to convert
the elements to the required epoch.
Returns empty list on error.
- rv
- Radial velocity of the planet relative to the Earth geocentre.
- vdefn
- Velocity definition. Always 'RADIO'.
- vframe
- Velocity reference frame. Always 'GEO'.
- apply_offset
- Overrided method to warn if
"Astro::Coords::apply_offset" is called
on this subclass.
Usually called via "Astro::Coords".
Useful sources of orbital elements can be found at http://ssd.jpl.nasa.gov and
http://cfa-www.harvard.edu/iau/Ephemerides/
"Astro::PAL" is used for all internal
astrometric calculations.
Tim Jenness <tjenness@cpan.org>
Copyright (C) 2001-2005 Particle Physics and Astronomy Research Council. All
Rights Reserved.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful,but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place,Suite 330, Boston, MA 02111-1307, USA