Astro-SpaceTrack

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


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

Changes  view on Meta::CPAN

    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

Changes  view on Meta::CPAN

  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.

Changes  view on Meta::CPAN

    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 (&quot;elset&quot; or &quot;TLE&quot;) for every object in the specified group that has received an update within the past 30 days. &quot;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 (&quot;elset&quot; or &quot;TLE&quot;) 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 )