gaia_access 0.2.0

Access the Gaia ESA Archive for astronomical data.
Documentation
// This code is generated by generate_code.py, do not modify it manually.

//! This module contains all the known columns in the skymapperdr1_master table.

use crate::traits::{Column, Table};

/// SkyMapper Data Release 1 - latest update (DR1.1) - main table: primary table of mean astrometric, photometric, and shape measurements per object, with cross-match information to external tables. The major improvement in DR1.1 is a significant enhancement of the homogeneity of the photometric calibration. The source of the photometric calibration is now a combination of APASS and 2MASS, where the addition of the latter is used to (a) provide the direct calibration of the SkyMapper i-band and z-band photometry via interpolation between the 2MASS JK and the APASS gr photometry, and (b) refine the selection of APASS stars used for photometric calibration of the other SkyMapper bands (uvgr). Data replicated from NCI TAP http://skymappertap.asvo.nci.org.au/ncitap/tap dr1.master table as of January 2019. Reference paper: https://ui.adsabs.harvard.edu/abs/2018PASA...35...10W/abstract (DOI: 10.1017/pasa.2018.5)
#[allow(non_camel_case_types)]
pub struct skymapperdr1_master;

impl Table for skymapperdr1_master {
    fn string(&self) -> String {
        "skymapperdr1_master".to_string()
    }
}

/// The columns in the skymapperdr1_master table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// Global unique object ID in the master table.
    object_id,
    /// Mean ICRS Right Ascension of the object
    raj2000,
    /// Mean ICRS Declination of the object
    dej2000,
    /// RMS variation around the mean Right Ascension, in milliarcseconds
    e_raj2000,
    /// RMS variation around the mean Declination, in milliarcseconds
    e_dej2000,
    /// SkyMapper Southern Survey designation of the form SMSS Jhhmmss.ss+/-ddmmss.s, derived from mean ICRS coordinates
    smss_j,
    /// Mean MJD epoch of the observations
    mean_epoch,
    /// RMS variation around the mean epoch
    rms_epoch,
    /// Galactic longitude derived from ICRS coordinates. Not to be used as primary astrometric reference.
    glon,
    /// Galactic latitude derived from ICRS coordinates. Not to be used as primary astrometric reference.
    glat,
    /// Bitwise OR of Source Extractor flags across all observations
    flags,
    /// Total number of flagged pixels from bad, saturated, and crosstalk pixel masks across all observations
    nimaflags,
    /// Number of observations used across all filters
    ngood,
    /// Minimum number of observations used in any filter (excluding filters with 0 observations)
    ngood_min,
    /// Maximum number of child sources combined into this global object_id in any filter
    nch_max,
    /// Bitwise OR of Source Extractor flags from u-band measurements in photometry table
    u_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from u-band measurements in photometry table
    u_nimaflags,
    /// Number of u-band observations used
    u_ngood,
    /// Number of u-band child sources combined into this object_id
    u_nch,
    /// Number of u-band observations for which the mean RA/Dec position fell on a CCD
    u_nvisit,
    /// Bitwise OR of Source Extractor flags from v-band measurements in photometry table
    v_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks fromvu-band measurements in photometry table
    v_nimaflags,
    /// Number of v-band observations used
    v_ngood,
    /// Number of v-band child sources combined into this object_id
    v_nch,
    /// Number of v-band observations for which the mean RA/Dec position fell on a CCD
    v_nvisit,
    /// Bitwise OR of Source Extractor flags from g-band measurements in photometry table
    g_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from g-band measurements in photometry table
    g_nimaflags,
    /// Number of g-band observations used
    g_ngood,
    /// Number of g-band child sources combined into this object_id
    g_nch,
    /// Number of g-band observations for which the mean RA/Dec position fell on a CCD
    g_nvisit,
    /// Bitwise OR of Source Extractor flags from r-band measurements in photometry table
    r_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from r-band measurements in photometry table
    r_nimaflags,
    /// Number of r-band observations used
    r_ngood,
    /// Number of r-band child sources combined into this object_id
    r_nch,
    /// Number of r-band observations for which the mean RA/Dec position fell on a CCD
    r_nvisit,
    /// Bitwise OR of Source Extractor flags from i-band measurements in photometry table
    i_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from i-band measurements in photometry table
    i_nimaflags,
    /// Number of i-band observations used
    i_ngood,
    /// Number of i-band child sources combined into this object_id
    i_nch,
    /// Number of i-band observations for which the mean RA/Dec position fell on a CCD
    i_nvisit,
    /// Bitwise OR of Source Extractor flags from z-band measurements in photometry table
    z_flags,
    /// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from z-band measurements in photometry table
    z_nimaflags,
    /// Number of z-band observations used
    z_ngood,
    /// Number of z-band child sources combined into this object_id
    z_nch,
    /// Number of z-band observations for which the mean RA/Dec position fell on a CCD
    z_nvisit,
    /// Maximum stellarity index from photometry table (between 0=no star and 1=star)
    class_star,
    /// Mean r-band Petrosian radius
    radius_petro,
    /// Mean r-band semi-major axis length
    a,
    /// Error in mean r-band semi-major axis length
    e_a,
    /// Mean r-band semi-minor axis length
    b,
    /// Error in mean r-band semi-minor axis length
    e_b,
    /// Mean r-band position angle (E of N, -90..+90 deg)
    pa,
    /// Error in mean r-band position angle
    e_pa,
    /// Mean u-band PSF magnitude
    u_psf,
    /// Error in u-band PSF magnitude
    e_u_psf,
    /// Mean u-band Petrosian magnitude
    u_petro,
    /// Error in u-band Petrosian magnitude
    e_u_petro,
    /// Mean v-band PSF magnitude
    v_psf,
    /// Error in v-band PSF magnitude
    e_v_psf,
    /// Mean v-band Petrosian magnitude
    v_petro,
    /// Error in v-band Petrosian magnitude
    e_v_petro,
    /// Mean g-band PSF magnitude
    g_psf,
    /// Error in g-band PSF magnitude
    e_g_psf,
    /// Mean g-band Petrosian magnitude
    g_petro,
    /// Error in g-band Petrosian magnitude
    e_g_petro,
    /// Mean r-band PSF magnitude
    r_psf,
    /// Error in r-band PSF magnitude
    e_r_psf,
    /// Mean r-band Petrosian magnitude
    r_petro,
    /// Error in r-band Petrosian magnitude
    e_r_petro,
    /// Mean i-band PSF magnitude
    i_psf,
    /// Error in i-band PSF magnitude
    e_i_psf,
    /// Mean i-band Petrosian magnitude
    i_petro,
    /// Error in i-band Petrosian magnitude
    e_i_petro,
    /// Mean z-band PSF magnitude
    z_psf,
    /// Error in z-band PSF magnitude
    e_z_psf,
    /// Mean z-band Petrosian magnitude
    z_petro,
    /// Error in z-band Petrosian magnitude
    e_z_petro,
    /// E(B-V) from Schlegel+1998 extinction maps at the ICRS coordinates
    ebmv_sfd,
    /// Distance to next-closest DR1 source
    prox,
    /// object_id of next-closest DR1 source
    prox_id,
    /// object_id of closest Early Data Release source
    edr_id,
    /// Distance to closest Early Data Release source
    edr_dist,
    /// Unique identifier (pts_key/ext_key) of closest 2MASS source
    twomass_key1,
    /// Distance on sky to closest 2MASS source
    twomass_dist1,
    /// 2MASS catalogue of closest match (point source PSC, or extended XSC)
    twomass_cat1,
    /// Unique identifier (pts_key/ext_key) of second closest 2MASS source
    twomass_key2,
    /// Distance on sky to second closest 2MASS source
    twomass_dist2,
    /// 2MASS catalogue of second closest match (point source PSC, or extended XSC)
    twomass_cat2,
    /// Unique identifier (cntr) of closest AllWISE source
    allwise_cntr,
    /// Distance on sky to closest AllWISE source
    allwise_dist,
    /// Unique identifier (mpos) of closest UCAC4 source
    ucac4_mpos,
    /// Distance on sky to closest UCAC4 source
    ucac4_dist,
    /// Unique identifier (recno) of closest APASS DR9 source (only useful for this copy of APASS)
    apass_recno,
    /// Distance on sky to closest APASS DR9 source
    apass_dist,
    /// Unique identifier (source_id) of closest Gaia DR1 source
    gaia_dr1_id,
    /// Distance on sky to closest Gaia DR1 source
    gaia_dr1_dist,
    /// Unique identifier (objID) of closest Pan-STARRS1 DR1 source
    ps1_dr1_id,
    /// Distance on sky to closest Pan-STARRS1 DR1 source
    ps1_dr1_dist,
    /// Unique identifier (objid) of closest GALEX AIS source (Bianchi et al. 2014)
    galex_bcs_id,
    /// Distance on sky to closest GALEX AIS source
    galex_bcs_dist,
    /// Unique identifier (source_id) of closest Gaia DR2 source
    gaia_dr2_id1,
    /// Distance on sky to closest Gaia DR2 source
    gaia_dr2_dist1,
    /// Unique identifier (source_id) of second closest Gaia DR2 source
    gaia_dr2_id2,
    /// Distance on sky to second closest Gaia DR2 source
    gaia_dr2_dist2,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the skymapperdr1_master table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
    let mut col_strings = Vec::new();
    col_strings.push(Col::object_id.to_string());
    col_strings.push(Col::raj2000.to_string());
    col_strings.push(Col::dej2000.to_string());
    col_strings.push(Col::e_raj2000.to_string());
    col_strings.push(Col::e_dej2000.to_string());
    col_strings.push(Col::smss_j.to_string());
    col_strings.push(Col::mean_epoch.to_string());
    col_strings.push(Col::rms_epoch.to_string());
    col_strings.push(Col::glon.to_string());
    col_strings.push(Col::glat.to_string());
    col_strings.push(Col::flags.to_string());
    col_strings.push(Col::nimaflags.to_string());
    col_strings.push(Col::ngood.to_string());
    col_strings.push(Col::ngood_min.to_string());
    col_strings.push(Col::nch_max.to_string());
    col_strings.push(Col::u_flags.to_string());
    col_strings.push(Col::u_nimaflags.to_string());
    col_strings.push(Col::u_ngood.to_string());
    col_strings.push(Col::u_nch.to_string());
    col_strings.push(Col::u_nvisit.to_string());
    col_strings.push(Col::v_flags.to_string());
    col_strings.push(Col::v_nimaflags.to_string());
    col_strings.push(Col::v_ngood.to_string());
    col_strings.push(Col::v_nch.to_string());
    col_strings.push(Col::v_nvisit.to_string());
    col_strings.push(Col::g_flags.to_string());
    col_strings.push(Col::g_nimaflags.to_string());
    col_strings.push(Col::g_ngood.to_string());
    col_strings.push(Col::g_nch.to_string());
    col_strings.push(Col::g_nvisit.to_string());
    col_strings.push(Col::r_flags.to_string());
    col_strings.push(Col::r_nimaflags.to_string());
    col_strings.push(Col::r_ngood.to_string());
    col_strings.push(Col::r_nch.to_string());
    col_strings.push(Col::r_nvisit.to_string());
    col_strings.push(Col::i_flags.to_string());
    col_strings.push(Col::i_nimaflags.to_string());
    col_strings.push(Col::i_ngood.to_string());
    col_strings.push(Col::i_nch.to_string());
    col_strings.push(Col::i_nvisit.to_string());
    col_strings.push(Col::z_flags.to_string());
    col_strings.push(Col::z_nimaflags.to_string());
    col_strings.push(Col::z_ngood.to_string());
    col_strings.push(Col::z_nch.to_string());
    col_strings.push(Col::z_nvisit.to_string());
    col_strings.push(Col::class_star.to_string());
    col_strings.push(Col::radius_petro.to_string());
    col_strings.push(Col::a.to_string());
    col_strings.push(Col::e_a.to_string());
    col_strings.push(Col::b.to_string());
    col_strings.push(Col::e_b.to_string());
    col_strings.push(Col::pa.to_string());
    col_strings.push(Col::e_pa.to_string());
    col_strings.push(Col::u_psf.to_string());
    col_strings.push(Col::e_u_psf.to_string());
    col_strings.push(Col::u_petro.to_string());
    col_strings.push(Col::e_u_petro.to_string());
    col_strings.push(Col::v_psf.to_string());
    col_strings.push(Col::e_v_psf.to_string());
    col_strings.push(Col::v_petro.to_string());
    col_strings.push(Col::e_v_petro.to_string());
    col_strings.push(Col::g_psf.to_string());
    col_strings.push(Col::e_g_psf.to_string());
    col_strings.push(Col::g_petro.to_string());
    col_strings.push(Col::e_g_petro.to_string());
    col_strings.push(Col::r_psf.to_string());
    col_strings.push(Col::e_r_psf.to_string());
    col_strings.push(Col::r_petro.to_string());
    col_strings.push(Col::e_r_petro.to_string());
    col_strings.push(Col::i_psf.to_string());
    col_strings.push(Col::e_i_psf.to_string());
    col_strings.push(Col::i_petro.to_string());
    col_strings.push(Col::e_i_petro.to_string());
    col_strings.push(Col::z_psf.to_string());
    col_strings.push(Col::e_z_psf.to_string());
    col_strings.push(Col::z_petro.to_string());
    col_strings.push(Col::e_z_petro.to_string());
    col_strings.push(Col::ebmv_sfd.to_string());
    col_strings.push(Col::prox.to_string());
    col_strings.push(Col::prox_id.to_string());
    col_strings.push(Col::edr_id.to_string());
    col_strings.push(Col::edr_dist.to_string());
    col_strings.push(Col::twomass_key1.to_string());
    col_strings.push(Col::twomass_dist1.to_string());
    col_strings.push(Col::twomass_cat1.to_string());
    col_strings.push(Col::twomass_key2.to_string());
    col_strings.push(Col::twomass_dist2.to_string());
    col_strings.push(Col::twomass_cat2.to_string());
    col_strings.push(Col::allwise_cntr.to_string());
    col_strings.push(Col::allwise_dist.to_string());
    col_strings.push(Col::ucac4_mpos.to_string());
    col_strings.push(Col::ucac4_dist.to_string());
    col_strings.push(Col::apass_recno.to_string());
    col_strings.push(Col::apass_dist.to_string());
    col_strings.push(Col::gaia_dr1_id.to_string());
    col_strings.push(Col::gaia_dr1_dist.to_string());
    col_strings.push(Col::ps1_dr1_id.to_string());
    col_strings.push(Col::ps1_dr1_dist.to_string());
    col_strings.push(Col::galex_bcs_id.to_string());
    col_strings.push(Col::galex_bcs_dist.to_string());
    col_strings.push(Col::gaia_dr2_id1.to_string());
    col_strings.push(Col::gaia_dr2_dist1.to_string());
    col_strings.push(Col::gaia_dr2_id2.to_string());
    col_strings.push(Col::gaia_dr2_dist2.to_string());
    map.insert(skymapperdr1_master.string(), col_strings);
}