Astro-SpaceTrack
view release on metacpan or search on metacpan
0.089 2015-01-06 T. R. Wyant
Supply missing initialization in JSON code. This was a problem only
if no data were returned, and maybe then only under restricted and
poorly-understood corcumstances.
Fix warnings in McCants' Iridium status code under Perl 5.21.7 and up.
With this Perl, sprintf() started complaining about extraneous
arguments.
Add new spacetrack() catalogs bright_geosynchronous, human_spaceflight
and well_tracked_objects. The first two correspond to Space Track
curated queries; the last does not, but is based on their Face Book
entry for December 3 2014, and represents objects that can not be
assigned to a country or launch site.
Fix option hash validation warning in spacetrack(). This affected
catalog 'payload'.
Fix exception in names() when an unsupported argument is passed. The
desired functionality was to return a 404 error, which is now
instead going for "small," "medium," and "large" in a new JSON
field. The -rcs option is now deprecated, and being put through the
usual deprecation cycle.
Set default value of verify_hostname attribute to false. This is
because Perl does not accept Mike McCants' GoDaddy certificate. The
default can be overridden using environment variable
SPACETRACK_VERIFY_HOSTNAME if it is defined.
Remove all references to obsolete spacetrack() canned queries
full_fast and geosynchronous_fast in the documentation. The queries
themselves are long gone.
Prepare for removal of the RCSVALUE datum in Space Track's satcat
data, which is announced for August 18 2014.
Add 'prompt' attribute.
Add ISS data to celestrak_supplemental.
Support the various Space Track data formats. This involves providing
Add information on celestrak() catalog 'argos'.
Factor the query tests into multiple files, so they can run in
parallel.
0.084 2014-01-01 T, R, Wyant
Have celestrak() and celestrak_supplemental() return error status if
the argument is undefined.
Drop deprecated spacetrack() catalogs full_fast and
geosynchronous_fast.
Add celestrak_supplemental() catalog 'ses'.
Remove support for environment variables SPACETRACK_REST_RANGE_OPERATOR
and SPACETRACK_REST_FRACTIONAL_DATE.
0.083 2013-11-23 T. R. Wyant
Add Space Track search option -comment. This adds the Comment field to
the satcat results returned by the search_* methods.
argument the name of a JSON file containing TLE data, and updates it
using '/FILE/>...'. The return is whatever format you want.
Make the REST options work with the spacetrack() method.
Enable the -sort and -descending options on REST queries. These were
previously hard-wired (to -sort epoch -descending) because of
problems early in the beta, which seem to be solved.
Recode the REST versions of spacetrack( 'full' ) and spacetrack(
'geosynchronous' ) to go through class satcat to eliminate bodies
that have decayed. Provide 'full_fast' and 'geosynchronous_fast' for
those who like to live dangerously. The last two are considered
experimental, and may be retracted.
Get the object name from field OBJECT_NAME when using the Space Track
REST interface, in all cases.
Make use of the new TLE_LINE0 field in the tle and tle_latest classes
to have the version 2 retrieve() method return common names.
INCOMPATIBLE CHANGE: In JSON output, the object name is now in field
lib/Astro/SpaceTrack.pm view on Meta::CPAN
EPOCH => '>now-30',
},
# number => 1,
},
payloads => {
name => 'All payloads',
satcat => {
OBJECT_TYPE => 'PAYLOAD',
},
},
geosynchronous => { # GEO
name => 'Geosynchronous satellites',
# number => 3,
# We have to go through satcat to eliminate bodies that
# are not on orbit, since tle_latest includes bodies
# decayed in the last two years or so
# satcat => {
# PERIOD => '1425.6--1454.4'
# },
# Note that the v2 interface specimen query is
# PERIOD 1430--1450.
# The v1 definition is
lib/Astro/SpaceTrack.pm view on Meta::CPAN
# number => 21,
},
special => {
favorite => 'Special_interest',
name => 'Special interest satellites',
tle => {
EPOCH => '>now-30',
},
# number => 23,
},
bright_geosynchronous => {
favorite => 'brightgeo',
name => 'Bright Geosynchronous satellites',
tle => {
EPOCH => '>now-30',
},
},
human_spaceflight => {
favorite => 'human_spaceflight',
name => 'Human Spaceflight',
tle => {
EPOCH => '>now-30',
},
lib/Astro/SpaceTrack.pm view on Meta::CPAN
This method returns predefined sets of data from the Space Track web
site, using either canned queries or global favorites.
The following catalogs are available:
Name Description
full Full catalog
payloads All payloads
navigation Navigation satellites
weather Weather satellites
geosynchronous Geosynchronous bodies
iridium Iridium satellites
orbcomm OrbComm satellites
globalstar Globalstar satellites
intelsat Intelsat satellites
inmarsat Inmarsat satellites
amateur Amateur Radio satellites
visible Visible satellites
special Special satellites
bright_geosynchronous
Bright Geosynchronous satellites
human_spaceflight
Human Spaceflight
well_tracked_objects
Well-Tracked Objects having
unknown country and launch point
The following option is supported:
-json
specifies the TLE be returned in JSON format
lib/Astro/SpaceTrack/BulkData.pod view on Meta::CPAN
Astro::SpaceTrack::BulkData - Reconstructing Space Track bulk data downloads
=head1 SUMMARY
The purpose of this document is to examine the feasibility of
duplicating the Space Track bulk data downloads through the REST
interface after the bulk data functionality is removed. The short answer
is:
Reasonable (and even trivial) queries appear to exist for C<full>,
C<geosynchronous>, C<iridium>, C<orbcomm>, C<globalstar>, C<intelsat>,
and C<inmarsat>.
Reasonable queries do not appear to exist for C<navigation>, C<weather>,
C<amateur>, and C<special>. The only way I can see to get them is with a
list of OIDs, which would have to be maintained.
The C<visible> data set is a special case. It might be thought possible
to come up with a reasonable facsimile of the list by selecting on
C<RCSVALUE>, but in practice this does not seem to work. The Celestrak
C<visual> list might be an acceptable alternative.
lib/Astro/SpaceTrack/BulkData.pod view on Meta::CPAN
=item 1) there is an obvious SATCAT query to get the OIDs involved;
=item 2) there is a Celestrak list of the OIDs involved;
=item 3) there is no known source of the OIDs involved.
=back
The SATCAT queries would specify at least
C</basicspacedata/query/class/satcat/CURRENT/Y/DECAY/null-val>. Except
for the C<full> and C<geosynchronous> catalogs, C</OBJECT_TYPE/PAYLOAD>
would also be specified. Predicates could be limited to
C</predicates/NORAD_CAT_ID>, though the construction of NASA-format TLEs
will require predicate C<SATNAME> as well.
The C<full> and C<geosynchronous> queries could be satisfied directly
from class C<tle_current> provided satellite names were not needed.
The individual bulk data sets are:
=head2 full - Full catalog
This is case (1) above, with no additional query arguments. The 'full'
data set includes rocket bodies and debris. In theory this query could
be satisfied from class C<tle_current> if no names were needed.
Interestingly, the obvious query retrieves 15773 bodies, whereas the
prebuilt data set has only 14908. The query as it currently stands took
three or four minutes, but that was going through class C<satcat>. This
will be required if common names are needed. If common names are not
needed, the query directly against C<tle_current> should be faster,
especially since it does not need to be broken up into smaller queries.
=head2 geosynchronous - Geosynchronous bodies
This is case (1) above, though some fiddling is needed. The problem is
that the version 1 definition of a geosynchronous satellite requires
mean motion between 0.99 and 1.01 revolutions per day, and eccentricity
less than 0.01. We kind of have to hit class C<satcat> to find out what
is in orbit, but neither mean motion nor eccentricity are in that class.
The trick is that period in minutes B<is> in C<satcat>, and the required
mean motion corresponds to a period between 1425.6 and 1454.4 (compared
to the specimen query on the version 2 web site, which puts the period
between 1430 and 1450). We do not require the object type to be
C<'PAYLOAD'>, because the version 1 bulk download contains both rocket
bodies and debris.
We can then query the C<tle> or C<tle_current> classes for the OIDs we
have found, but restrict the query by requiring eccentricity less than
0.01.
The result of this combination of queries has 813 bodies in it, the same
as the bulk data for geosynchronous satellites. They are slightly
different lists, though. The following OIDs appear only in the bulk
data:
OID Common Name Period Object Type
20315 INTELSAT 602 1454.43 PAYLOAD
20401 SKYNET 4A 1454.49 PAYLOAD
23598 DIRECTV 3 (DBS/NIMIQ 3) 1454.56 PAYLOAD
On the other hand, the following OIDs appear only in the results of the
above-described query:
xt/author/spacetrack_catalogs.t view on Meta::CPAN
$data{expect} = <<'EOD';
<div class="tab-pane" id="recent">
<div class="panel panel-default panel-st-primary">
<div class="panel-heading"> Bulk Download Alternative</div>
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<h2>Current Catalog Files</h2> The following links show the most recent element set ("elset" or "TLE") for every object in the specified group that has received an update within the past 30 days. "Admin c...
<br />
<div class="col-md-6"> Full Catalog <ul>
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle" target="_blank"> Two Line</a><li><a data-original-ti...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/MEAN_MOTION/0.99--1.01/ECCENTRICITY/%3C0.01/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/MEAN_MOTION/1.8--2.39/ECCENTRICITY/%3C0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/f...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/MEAN_MOTION/%3E11.25/ECCENTRICITY/%3C0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/fo...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/ECCENTRICITY/%3E0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle" target="_bl...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/Navigation" target="_blank"> Two Line</a><l...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/Weather" target="_blank"> Two Line</a><li><...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle/OBJECT_NAME/iridium~~/" target="_...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/OBJECT_NAME/orbcomm~~,VESSELSAT~~/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle...
</div>
<div class="col-md-6"> Globalstar <ul>
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle/OBJECT_NAME/globalstar~~/" target...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle/OBJECT_NAME/intelsat~~/" target="...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID/format/tle/OBJECT_NAME/inmarsat~~/" target="...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/Amateur" target="_blank"> Two Line</a><li><...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/Visible" target="_blank"> Two Line</a><li><...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/Special_interest" target="_blank"> Two Line...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/brightgeo" target="_blank"> Two Line</a><li...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/tle/favorites/human_spaceflight" target="_blank"> Two Lin...
<br />
<br />
</div>
</div>
<div class="col-md-6">
<h2>Complete Data Files (Daily TLEs)</h2>
<p>These links show every element set ("elset" or "TLE") published on the indicated Julian date (GMT). Note that not every satellite may be represented on every day, while some satellites may have many ELSETS i...
<li>
( run in 0.267 second using v1.01-cache-2.11-cpan-0d8aa00de5b )