Astro-satpass
view release on metacpan or search on metacpan
lib/Astro/Coord/ECI/OVERVIEW.pod view on Meta::CPAN
Classic satellite. The L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE>
C<parse()> static method produces these
automatically when fed L<TLE|/TLE> data representing Iridium satellites.
This module adds to the L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE>
functionality the ability to calculate Iridium Classic flares. The
L<Astro::Coord::ECI::TLE::Iridium|Astro::Coord::ECI::TLE::Iridium>
C<flare()> method is passed the
L<observers' location|/Station> and the desired time range for the
prediction. It returns a list of hashes representing the predicted
flares. This prediction is modified by attributes giving limiting
magnitudes for daytime and nighttime flares, and whether you want
predictions for am (between midnight and sunrise), day (between sunrise
and sunset), and/or pm (between sunset and midnight) flares.
This module was moved into its own distribution in mid-2018, due to the
impending replacement of all Iridium Classic satellites with Iridium
Next. The Iridium Next satellites are not expected to flare (at least
not nearly as spectacularly as the Iridium Classic satellites), and have
a different geometry anyway, so this class is useless for them.
=head2 Astro::Coord::ECI::TLE::Set
This module is not a member of the
L<Astro::Coord::ECI|Astro::Coord::ECI> inheritance tree. It is a
container for one or more
L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE> objects representing
the same L<OID|/OID>, and is usable pretty much anywhere an
L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE> object is.
The L<Astro::Coord::ECI::TLE::Set|Astro::Coord::ECI::TLE::Set> object
exposes all the methods of its contained objects, but overrides some of
them to work its magic.
L<Astro::Coord::ECI::TLE::Set|Astro::Coord::ECI::TLE::Set> works on the
principle that one of its contained objects is the current object, which
is used to satisfy data requests. So the most important override is of
the L<Astro::Coord::ECI|Astro::Coord::ECI> C<universal()> method, which
selects as the current object the one best representing the given time.
In this context, 'best' means the object having the most recent
effective date (or L<epoch|/Epoch>) before the given time. If there is
no such object, the object having the earliest L<epoch|/Epoch> is used.
There are a couple other small magics involved in
L<Astro::Coord::ECI::TLE::Set|Astro::Coord::ECI::TLE::Set>:
* The C<can()> method is overridden, so that an
L<Astro::Coord::ECI::TLE::Set|Astro::Coord::ECI::TLE::Set> object
appears to implement the methods of whatever class it was populated
with.
* The C<set()> method is overridden so that attributes characteristic of
the L<OID|/OID> (such as 'name', 'backdate', and so on) being
represented are set on all contained objects, but attributes
characteristic of a specific L<TLE|/TLE> data set are set only on the
selected object.
* For select methods, such as the
L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE> C<pass()> method, the
L<Astro::Coord::ECI::TLE::Set|Astro::Coord::ECI::TLE::Set> object passes
itself to to the method as the invocant, rather than passing the current
object. This way such methods transparently switch L<TLE|/TLE> data sets
whenever appropriate.
=head2 Astro::Coord::ECI::Utils
The L<Astro::Coord::ECI::Utils|Astro::Coord::ECI::Utils> module is not a
member of the L<Astro::Coord::ECI|Astro::Coord::ECI> inheritance
hierarchy, but is a container for all those utility subroutines that
are not intrinsically object-oriented. These are generally conversion
routines of some sort, such as the previously-mentioned C<deg2rad()>
subroutine and its inverse C<rad2deg()>, and conversions among the
various time representations used in the various models.
=head1 WHERE TO GET TLE DATA
There are a number of places to get the L<TLE|/TLE> data on line. Some of
these are accessible through the L<Astro::SpaceTrack|Astro::SpaceTrack>
Perl module (not included in this package, but available from CPAN), but
you can always simply download the data and then read the file and pass
its contents to the L<Astro::Coord::ECI::TLE|Astro::Coord::ECI::TLE>
static method C<parse()>.
Please note that anything specific said here about the functionality of
Astro::SpaceTrack is B<not> definitive. You should consult
L<Astro::SpaceTrack|Astro::SpaceTrack> for the latest.
=head2 Space Track
The 'most official' source of L<TLE|/TLE> data is
L<https://www.space-track.org/>, which requires you to register and use a
username and password. Other sources may get their data from here, which
means their data are hours to days older.
L<Astro::SpaceTrack|Astro::SpaceTrack> will retrieve data from this
site, but of course you have to give it a username and password before
it will do so.
As of about April 13 2011, you will need
L<Astro::SpaceTrack|Astro::SpaceTrack> version C<0.052> or higher to
access Space Track. On or about that date they changed from straight
http to secure http (C<https:>), and C<0.052> is the version at which
L<Astro::SpaceTrack|Astro::SpaceTrack> gained this functionality.
As of about July 16 2013, you will need
L<Astro::SpaceTrack|Astro::SpaceTrack> version C<0.054> or higher to
access Space Track. On or about that date they will retire the version 1
interface, so you will need an L<Astro::SpaceTrack|Astro::SpaceTrack>
that adequately supports the new interface.
=head2 CelesTrak
Dr. T. S. Kelso's L<http://celestrak.org/> is a good source for the more
popular satellites. It redistributes data from L<Space Track>,
but you can get Dr. Kelso's data without registering.
L<Astro::SpaceTrack|Astro::SpaceTrack> will retrieve data from this
site, but by default is simply gets the L<OID|/OID> from Dr. Kelso, and
then retrieves the data from Space Track, so you will need a username
and password. If you don't have them, you can configure
L<Astro::SpaceTrack|Astro::SpaceTrack> to work for this site
without them.
=head2 Amateur Radio Satellite Corporation
( run in 1.077 second using v1.01-cache-2.11-cpan-98e64b0badf )