Astro::Catalog module
---------------------

What is it?
-----------

The module is a generic object orientated astronomical catalogue object.

Requirements
------------

The madatory requirement of the Astro::Catalog package are,

 Astro::Coords
 Astro::Telescope
 Time::Piece
 File::Spec
 Math::Libm
 Net::Domain
 LWP::UserAgent
 SOAP::Lite
 Test
 Test::More
 Data::Dumper
 Carp
 Astro::VO::VOTable
 Astro::Flux
 Number::Uncertainty
 Misc::Quality

See http://heasarc.gsfc.nasa.gov/classx/votable/index.html to obtain the GSFC
Astro::VO::VOTable package. You need V0.9 or later of this module.

Provides
--------

The package provides the following user level classes

 Astro::Catalog
   A generic catalogue object, includes pluggable I/O support.

 Astro::Catalog::Item
   A generic catalogue item.

NB: Astro::Catalog::Star is maintained for backwards compatibility.

The following classes can be used to query various online databases
for astronomical objects. They all return an Astro::Catalog object
populated with matching Astro::Catalog::Star objects.

 Astro::Catalog::Query::2MASS
   Queries the Two Micron All Sky Survey (2MASS) catalogue.

 Astro::Catalog::Query::CMC
   Queries the Carlsberg Meridian Catalogue (CMC/12).

 Astro::Catalog::Query::GSC
   Queries the Guide Star Catalog (GSC).

 Astro::Catalog::Query::MPC
   Queries the Minor Planet Center database for solar system objects.

 Astro::Catalog::Query::Sesame
   Queries the CDS Sesame web service.

 Astro::Catalog::Query::SIMBAD
   Queries the CDS SIMBAD database. Implements most of the functionality
   of the Astro::SIMBAD module.

 Astro::Catalog::Query::SkyCat
   Queries SkyCat catalogues. For some catalogue queries, parsing of the
   returned catalogue will not work. In some cases the URLs of the
   resources may break this module's parsing code.

 Astro::Catalog::Query::SuperCOSMOS
   Queries the SuperCOSMOS catalogue.

 Astro::Catalog::Query::USNOA2
   Queries the USNO-A2.0 catalogue.

 Astro::Catalog::Query::Vizier
   Queries Vizier catalogues. For some catalogue queries, parsing of the
   returned catalogue will not work.

Additional classes provided by the package handle things that you don't
need to concern yourself with, unless you want to write your own I/O or
query plugins, these are

 Astro::Catalog::IO::Astrom     (write only)
 Astro::Catalog::IO::ASSM       (read only)
 Astro::Catalog::IO::Binary     (read only)
 Astro::Catalog::IO::Cluster
 Astro::Catalog::IO::FINDOFF
 Astro::Catalog::IO::FITSTable
 Astro::Catalog::IO::GaiaPick   (read only)
 Astro::Catalog::IO::JCMT
 Astro::Catalog::IO::LCOGFITSTable
 Astro::Catalog::IO::Northstar  (read only)
 Astro::Catalog::IO::RITMatch
 Astro::Catalog::IO::SExtractor (read only)
 Astro::Catalog::IO::STL        (read only)
 Astro::Catalog::IO::Simple
 Astro::Catalog::IO::TST        (read only)
 Astro::Catalog::IO::UKIRTBS    (read only)
 Astro::Catalog::IO::VOTable
 Astro::Catalog::IO::XY
 Astro::Catalog::Transport::REST
 Astro::Catalog::Transport::WebService
 Astro::Catalog::Query
 Astro::Catalog::Item::Morphology

The user level query classes inherit from the Astro::Catalog::Transport::XXX
classes, which in turn all inherit basic functionality from the Query base
class Astro::Catalog::Query. The Astro::Catalog::IO modules provide pluggable
polymorphic input/output.

It should be noted that Astro::Catalog::IO::TST, STL, GaiaPick, SExtractor,
and UKIRTBS do not currently provide a _write_catalog() function, and
Astrom does not currently provide a _read_catalog() function.

Where can I get it?
-------------------

The package is available from CPAN <http://www.cpan.org/> and from github
at https://github.com/timj/perl-Astro-Catalog

Installation
------------

Installation is automated using the Module::Build library

    % perl Build.PL
    % ./Build
    % ./Build test
    % ./Build install

Authors
-------

The module was originally written by Alasdair Allan <[email protected]>,
of the University of Exeter Astrophysics Group (http://www.astro.ex.ac.uk/)
as part of his work for the eSTAR project.

The internal architecture of the module was extensively rewritten for v3.0
by Tim Jenness <[email protected]> of the Joint Astronomy Centre
in Hawaii and Alasdair Allan <[email protected]>, of the University of
Exeter Astrophysics Group. Then rewritten again by Alasdair Allan <[email protected]> for the v4.0 release.

This version also includes patches supplied by Stephen Quinney
<[email protected]> of Durham University, Tim Lister
<[email protected]> of Las Cumbres Observatory, and Luca Rizzi
<[email protected]>, Graham Bell <[email protected]>
and Brad Cavanagh <[email protected]> of the Joint Astronomy
Centre in Hawaii.

License
-------
This package 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 2 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