Skip to main content
Ctrl+K
Astropy
  • About
    • About Astropy
    • Code of Conduct
    • Acknowledging & Citing
    • History
  • Documentation
    • astropy
    • asdf-astropy
    • astropy-healpix
    • astroquery
    • ccdproc
    • photutils
    • regions
    • reproject
    • specreduce
    • specutils
  • Get Help
  • Contribute
  • Affiliated Packages
  • Team
  • About ▾
    • About Astropy
    • Code of Conduct
    • Acknowledging & Citing
    • History
  • Documentation ▾
    • astropy
    • asdf-astropy
    • astropy-healpix
    • astroquery
    • ccdproc
    • photutils
    • regions
    • reproject
    • specreduce
    • specutils
  • Get Help
  • Contribute
  • Affiliated Packages
  • Team
Logo image

astroquery v0.4.12.dev770+gc77e9ffd8

  • Full Changelog
  • Default Configuration
  • ALMA Queries (astroquery.alma)
    • get_enhanced_table
    • AlmaClass
    • Conf
    • parse_frequency_support
    • footprint_to_reg
    • approximate_primary_beam_sizes
  • Atomic Line List (astroquery.atomic)
    • AtomicLineListClass
    • Transition
  • Besancon Queries (astroquery.besancon)
    • parse_besancon_model_file
    • parse_besancon_model_string
    • BesanconClass
    • Conf
  • CADC (astroquery.cadc)
    • CadcClass
  • CASDA Queries (astroquery.casda)
    • CasdaClass
  • Cologne Database for Molecular Spectroscopy (CDMS) Queries (astroquery.linelists.cdms)
    • CDMSClass
    • Conf
  • ESA EUCLID Archive (astroquery.esa.euclid)
    • EuclidClass
    • Conf
  • ESA Herschel Science Archive (astroquery.esa.hsa)
    • HSAClass
    • Conf
  • ESA HST Archive (astroquery.esa.hubble)
    • ESAHubbleClass
    • Conf
  • ESDC Multi-Mission Data Services (EMDS) (astroquery.esa.emds)
    • EmdsClass
    • Conf
    • EinsteinProbe Space Archive (EPSA) (astroquery.esa.emds.einsteinprobe)
      • EinsteinProbeClass
  • EinsteinProbe Space Archive (EPSA) (astroquery.esa.emds.einsteinprobe)
    • EinsteinProbeClass
  • ESA Integral Science Legacy Archive (ISLA) (astroquery.esa.integral)
    • IntegralClass
    • Conf
  • ESA ISO Archive (astroquery.esa.iso)
    • ISOClass
    • Conf
  • ESA JWST Archive (astroquery.esa.jwst)
    • JwstClass
    • JwstDataHandler
    • Conf
  • ESA PLATO ArXiv (astroquery.esa.plato)
    • PlatoClass
    • Conf
  • ESA XMM-Newton Archive (astroquery.esa.xmm_newton)
    • XMMNewtonClass
    • Conf
  • ESASky Queries (astroquery.esasky)
    • ESASkyClass
    • Conf
  • ESO Queries (astroquery.eso)
    • Authenticated Access (Login)
    • Observations - Cone Search
    • Observations - Query for Raw Data (Generic)
    • Observations - Query for Raw Data (Instrument-Specific)
    • Observations - Query for Reduced Data
    • Query using the TAP Service
    • Observations - Query for APEX Data
    • Observations - Header Information
    • Observations - Download Data
    • Catalogues - Cone Search
    • Catalogues - Query for Catalogue Data
    • Catalogues - Query with TAP
    • Troubleshooting
    • EsoClass
    • Conf
  • FIRST Queries (astroquery.image_cutouts.first)
    • FirstClass
    • Conf
  • Gaia TAP+ (astroquery.gaia)
    • GaiaClass
    • Conf
  • GAMA Queries (astroquery.gama)
    • GAMAClass
  • Gemini Queries (astroquery.gemini)
    • ObservationsClass
  • HEASARC Queries (astroquery.heasarc)
    • HeasarcClass
    • Conf
  • HiPS2fits Service (astroquery.hips2fits)
    • hips2fitsClass
    • Conf
  • HITRAN Queries (astroquery.hitran)
    • HitranClass
  • IRSA Moving Object Search Tool (astroquery.ipac.irsa.most)
  • IRSA Dust Extinction Service Queries (astroquery.ipac.irsa.irsa_dust)
    • IrsaDustClass
    • Conf
  • IRSA Image Server program interface (IBE) Queries (astroquery.ipac.irsa.ibe)
    • IbeClass
    • Conf
  • IRSA Queries (astroquery.ipac.irsa)
    • IrsaClass
    • MostClass
    • Conf
  • JPL Spectroscopy Queries (astroquery.linelists.jplspec)
    • JPLSpecClass
    • Conf
  • MAGPIS Queries (astroquery.magpis)
    • MagpisClass
    • Conf
  • MAST Queries (astroquery.mast)
    • Observation Queries
    • Mission-Specific Queries
    • Catalog Queries
    • Image Cutouts
    • MAST Queries
    • ObservationsClass
    • CatalogsClass
    • MastMissionsClass
    • MastClass
    • TesscutClass
    • ZcutClass
    • HapcutClass
    • Conf
  • CDS MOC Service (astroquery.mocserver)
    • Conf
    • MOCServerClass
  • Minor Planet Center Queries (astroquery.mpc or astroquery.solarsystem.MPC)
    • MPCClass
  • NASA ADS Queries (astroquery.nasa_ads)
    • ADSClass
    • Conf
  • NED Queries (astroquery.ipac.ned)
    • NedClass
    • Conf
  • NIST Queries (astroquery.nist)
    • NistClass
    • Conf
  • NOIRLab Queries (astroquery.noirlab)
    • NOIRLabClass
    • Conf
  • NRAO Queries (astroquery.nrao)
    • NraoClass
    • Conf
  • NVAS Queries (astroquery.nvas)
    • NvasClass
    • Conf
  • SIMBAD Queries (astroquery.simbad)
    • Simbad module evolutions
    • SimbadClass
    • Conf
  • Skyview Queries (astroquery.skyview)
    • SkyViewClass
    • Conf
  • Splatalogue Queries (astroquery.splatalogue)
    • SplatalogueClass
    • Conf
  • SVO Filter Profile Service Queries (astroquery.svo_fps)
    • SvoFpsClass
    • Conf
  • UKIDSS Queries (astroquery.ukidss)
    • clean_catalog
    • UkidssClass
    • Conf
  • Vamdc Queries (astroquery.vamdc)
    • VamdcClass
    • Conf
  • VizieR Queries (astroquery.vizier)
    • VizierClass
    • Conf
  • VSA Queries (astroquery.vsa)
    • clean_catalog
    • VsaClass
    • Conf
  • xMatch Queries (astroquery.xmatch)
    • XMatchClass
    • Conf
  • ALFALFA Queries (astroquery.alfalfa)
    • AlfalfaClass
  • CosmoSim Queries (astroquery.cosmosim)
    • CosmoSimClass
    • Conf
  • Exoplanet Orbit Database (astroquery.exoplanet_orbit_database)
    • ExoplanetOrbitDatabaseClass
    • Conf
  • Fermi Queries (astroquery.fermi)
    • FermiLATClass
    • GetFermilatDatafile
    • Conf
  • JPL Horizons Queries (astroquery.jplhorizons or astroquery.solarsystem.jpl.horizons)
    • HorizonsClass
    • Conf
  • JPL SBDB Queries (astroquery.jplsbdb or astroquery.solarsystem.jpl.sbdb)
    • SBDBClass
    • Conf
  • LAMDA Queries (astroquery.lamda)
    • parse_lamda_datafile
    • write_lamda_datafile
  • NASA Exoplanet Archive (astroquery.ipac.nexsci.nasa_exoplanet_archive)
    • NasaExoplanetArchiveClass
    • Conf
  • OAC API Queries (astroquery.oac)
    • OACClass
    • Conf
  • OGLE Queries (astroquery.ogle)
    • OgleClass
    • Conf
  • Open Exoplanet Catalogue(astroquery.open_exoplanet_catalogue)
    • xml_element_to_dict
    • findvalue
    • get_catalogue
  • SDSS Queries (astroquery.sdss)
    • SDSSClass
    • Conf
  • WFAU Queries (astroquery.wfau)
    • clean_catalog
    • BaseWFAUClass
  • VO Simple Cone Search (astroquery.vo_conesearch)
    • Using “Client” API
    • Using “Server” API
    • ConeSearchClass
    • get_remote_catalog_db
    • call_vo_service
    • list_catalogs
    • VOSBase
    • VOSCatalog
    • VOSDatabase
    • conesearch
    • search_all
    • list_catalogs
    • predict_search
    • conesearch_timer
    • AsyncConeSearch
    • AsyncSearchAll
    • AsyncBase
    • BaseVOError
    • VOSError
    • MissingCatalog
    • DuplicateCatalogName
    • DuplicateCatalogURL
    • InvalidAccessURL
    • ConeSearchError
    • check_conesearch_sites
    • ConeSearchResults
    • BaseVOValidationError
    • ValidationMultiprocessingError
  • ALFALFA Queries (astroquery.alfalfa)
    • AlfalfaClass
  • ESO Queries (astroquery.eso)
    • Authenticated Access (Login)
    • Observations - Cone Search
    • Observations - Query for Raw Data (Generic)
    • Observations - Query for Raw Data (Instrument-Specific)
    • Observations - Query for Reduced Data
    • Query using the TAP Service
    • Observations - Query for APEX Data
    • Observations - Header Information
    • Observations - Download Data
    • Catalogues - Cone Search
    • Catalogues - Query for Catalogue Data
    • Catalogues - Query with TAP
    • Troubleshooting
    • EsoClass
    • Conf
  • Exoplanet Orbit Database (astroquery.exoplanet_orbit_database)
    • ExoplanetOrbitDatabaseClass
    • Conf
  • GAMA Queries (astroquery.gama)
    • GAMAClass
  • IRSA Dust Extinction Service Queries (astroquery.ipac.irsa.irsa_dust)
    • IrsaDustClass
    • Conf
  • IRSA Image Server program interface (IBE) Queries (astroquery.ipac.irsa.ibe)
    • IbeClass
    • Conf
  • IRSA Queries (astroquery.ipac.irsa)
    • IrsaClass
    • MostClass
    • Conf
  • MAST Queries (astroquery.mast)
    • Observation Queries
    • Mission-Specific Queries
    • Catalog Queries
    • Image Cutouts
    • MAST Queries
    • ObservationsClass
    • CatalogsClass
    • MastMissionsClass
    • MastClass
    • TesscutClass
    • ZcutClass
    • HapcutClass
    • Conf
  • NASA Exoplanet Archive (astroquery.ipac.nexsci.nasa_exoplanet_archive)
    • NasaExoplanetArchiveClass
    • Conf
  • NED Queries (astroquery.ipac.ned)
    • NedClass
    • Conf
  • OGLE Queries (astroquery.ogle)
    • OgleClass
    • Conf
  • Open Exoplanet Catalogue(astroquery.open_exoplanet_catalogue)
    • xml_element_to_dict
    • findvalue
    • get_catalogue
  • SDSS Queries (astroquery.sdss)
    • SDSSClass
    • Conf
  • SIMBAD Queries (astroquery.simbad)
    • Simbad module evolutions
    • SimbadClass
    • Conf
  • UKIDSS Queries (astroquery.ukidss)
    • clean_catalog
    • UkidssClass
    • Conf
  • VizieR Queries (astroquery.vizier)
    • VizierClass
    • Conf
  • VSA Queries (astroquery.vsa)
    • clean_catalog
    • VsaClass
    • Conf
  • xMatch Queries (astroquery.xmatch)
    • XMatchClass
    • Conf
  • ALFALFA Queries (astroquery.alfalfa)
    • AlfalfaClass
  • ALMA Queries (astroquery.alma)
    • get_enhanced_table
    • AlmaClass
    • Conf
    • parse_frequency_support
    • footprint_to_reg
    • approximate_primary_beam_sizes
  • CADC (astroquery.cadc)
    • CadcClass
  • CASDA Queries (astroquery.casda)
    • CasdaClass
  • ESA EUCLID Archive (astroquery.esa.euclid)
    • EuclidClass
    • Conf
  • ESA Herschel Science Archive (astroquery.esa.hsa)
    • HSAClass
    • Conf
  • ESA HST Archive (astroquery.esa.hubble)
    • ESAHubbleClass
    • Conf
  • ESDC Multi-Mission Data Services (EMDS) (astroquery.esa.emds)
    • EmdsClass
    • Conf
    • EinsteinProbe Space Archive (EPSA) (astroquery.esa.emds.einsteinprobe)
      • EinsteinProbeClass
  • EinsteinProbe Space Archive (EPSA) (astroquery.esa.emds.einsteinprobe)
    • EinsteinProbeClass
  • ESA Integral Science Legacy Archive (ISLA) (astroquery.esa.integral)
    • IntegralClass
    • Conf
  • ESA ISO Archive (astroquery.esa.iso)
    • ISOClass
    • Conf
  • ESA JWST Archive (astroquery.esa.jwst)
    • JwstClass
    • JwstDataHandler
    • Conf
  • ESA XMM-Newton Archive (astroquery.esa.xmm_newton)
    • XMMNewtonClass
    • Conf
  • ESO Queries (astroquery.eso)
    • Authenticated Access (Login)
    • Observations - Cone Search
    • Observations - Query for Raw Data (Generic)
    • Observations - Query for Raw Data (Instrument-Specific)
    • Observations - Query for Reduced Data
    • Query using the TAP Service
    • Observations - Query for APEX Data
    • Observations - Header Information
    • Observations - Download Data
    • Catalogues - Cone Search
    • Catalogues - Query for Catalogue Data
    • Catalogues - Query with TAP
    • Troubleshooting
    • EsoClass
    • Conf
  • Fermi Queries (astroquery.fermi)
    • FermiLATClass
    • GetFermilatDatafile
    • Conf
  • Gaia TAP+ (astroquery.gaia)
    • GaiaClass
    • Conf
  • Gemini Queries (astroquery.gemini)
    • ObservationsClass
  • HEASARC Queries (astroquery.heasarc)
    • HeasarcClass
    • Conf
  • IRSA Image Server program interface (IBE) Queries (astroquery.ipac.irsa.ibe)
    • IbeClass
    • Conf
  • IRSA Queries (astroquery.ipac.irsa)
    • IrsaClass
    • MostClass
    • Conf
  • MAGPIS Queries (astroquery.magpis)
    • MagpisClass
    • Conf
  • MAST Queries (astroquery.mast)
    • Observation Queries
    • Mission-Specific Queries
    • Catalog Queries
    • Image Cutouts
    • MAST Queries
    • ObservationsClass
    • CatalogsClass
    • MastMissionsClass
    • MastClass
    • TesscutClass
    • ZcutClass
    • HapcutClass
    • Conf
  • NED Queries (astroquery.ipac.ned)
    • NedClass
    • Conf
  • NRAO Queries (astroquery.nrao)
    • NraoClass
    • Conf
  • NVAS Queries (astroquery.nvas)
    • NvasClass
    • Conf
  • SDSS Queries (astroquery.sdss)
    • SDSSClass
    • Conf
  • Skyview Queries (astroquery.skyview)
    • SkyViewClass
    • Conf
  • UKIDSS Queries (astroquery.ukidss)
    • clean_catalog
    • UkidssClass
    • Conf
  • VSA Queries (astroquery.vsa)
    • clean_catalog
    • VsaClass
    • Conf
  • Besancon Queries (astroquery.besancon)
    • parse_besancon_model_file
    • parse_besancon_model_string
    • BesanconClass
    • Conf
  • CosmoSim Queries (astroquery.cosmosim)
    • CosmoSimClass
    • Conf
  • Atomic Line List (astroquery.atomic)
    • AtomicLineListClass
    • Transition
  • Cologne Database for Molecular Spectroscopy (CDMS) Queries (astroquery.linelists.cdms)
    • CDMSClass
    • Conf
  • HITRAN Queries (astroquery.hitran)
    • HitranClass
  • JPL Spectroscopy Queries (astroquery.linelists.jplspec)
    • JPLSpecClass
    • Conf
  • LAMDA Queries (astroquery.lamda)
    • parse_lamda_datafile
    • write_lamda_datafile
  • NIST Queries (astroquery.nist)
    • NistClass
    • Conf
  • Splatalogue Queries (astroquery.splatalogue)
    • SplatalogueClass
    • Conf
  • Vamdc Queries (astroquery.vamdc)
    • VamdcClass
    • Conf
  • Astrometry.net plate solutions (astroquery.astrometry_net)
    • AstrometryNetClass
  • Institut de Mécanique Céleste et de Calcul des Éphémérides (IMCCE) Solar System Services (astroquery.imcce or astroquery.solarsystem.imcce)
    • MiriadeClass
    • SkybotClass
    • Conf
  • JPL Horizons Queries (astroquery.jplhorizons or astroquery.solarsystem.jpl.horizons)
    • HorizonsClass
    • Conf
  • JPL SBDB Queries (astroquery.jplsbdb or astroquery.solarsystem.jpl.sbdb)
    • SBDBClass
    • Conf
  • NASA ADS Queries (astroquery.nasa_ads)
    • ADSClass
    • Conf
  • NEODyS Queries (astroquery.solarsystem.neodys)
    • NEODySClass
    • Conf
  • ESA Utils Module (astroquery.esa.utils)
    • download_file
    • EsaTap
  • TAP/TAP+ (astroquery.utils.tap)
    • Tap
    • TapPlus
    • TapTableMeta
    • TapColumn
  • Image Cutout Services (astroquery.image_cutouts)
    • FIRST Queries (astroquery.image_cutouts.first)
      • FirstClass
      • Conf
  • Solar System Services (astroquery.solarsystem)
    • IMCCE Services
      • Institut de Mécanique Céleste et de Calcul des Éphémérides (IMCCE) Solar System Services (astroquery.imcce or astroquery.solarsystem.imcce)
        • MiriadeClass
        • SkybotClass
        • Conf
    • JPL Solar System Services
      • JPL SBDB Queries (astroquery.jplsbdb or astroquery.solarsystem.jpl.sbdb)
        • SBDBClass
        • Conf
      • JPL Horizons Queries (astroquery.jplhorizons or astroquery.solarsystem.jpl.horizons)
        • HorizonsClass
        • Conf
    • Minor Planet Center Services
      • Minor Planet Center Queries (astroquery.mpc or astroquery.solarsystem.MPC)
        • MPCClass
    • NEODyS Queries (astroquery.solarsystem.neodys)
      • NEODySClass
      • Conf
    • PDS Ring-Moon Systems (RMS) Node Queries (astroquery.solarsystem.pds)
      • RMSNodeClass
      • Conf
  • Astroquery API Specification
  • Template Module
  • Astroquery Testing
  • Astroquery utils (astroquery.utils)
    • chunk_report
    • chunk_read
    • parse_coordinates
    • suppress_vo_warnings
    • validate_email
    • async_to_sync
    • prepend_docstr_nosections
    • cleanup_saved_downloads
    • class_or_instance
    • TableList
    • timefunc
    • RunTimePredictor
  • Astroquery query (astroquery.query)
    • BaseVOQuery
    • BaseQuery
    • QueryWithLogin
  • TAP/TAP+ (astroquery.utils.tap)
    • Tap
    • TapPlus
    • TapTableMeta
    • TapColumn
  • ESO Queries (astroquery.eso)
  • Catalogues - Cone Search

Catalogues - Cone Search#

In the simplest case, catalogue queries can be constrained by sky position (cone search). For catalogue tables, this is currently done by building an ADQL cone-search expression and passing it through column_filters in query_catalog().

Note

The cone_ra, cone_dec, and cone_radius arguments are not currently implemented in query_catalog() (as they are with e.g. query_main()). For catalogue cone searches, use a custom ADQL spatial filter as shown below.

Identify Coordinate Columns#

Before building a cone search, inspect the catalogue schema with help=True and identify the right ascension and declination columns from their UCD values:

  • pos.eq.ra;meta.main for right ascension

  • pos.eq.dec;meta.main for declination

For example:

>>> from astroquery.eso import Eso
>>> eso = Eso()
>>> eso.query_catalog(catalog='KiDS_DR4_1_ugriZYJHKs_cat_fits', help=True)
...
            RAJ2000   DOUBLE              deg                   pos.eq.ra;meta.main
           DECJ2000   DOUBLE              deg                  pos.eq.dec;meta.main
...

In this case the column names are RAJ2000 and DECJ2000. However, different catalogues may use different coordinate column names (e.g. RA2000/DEC2000 or RA_Spec/Dec_Spec), so checking the UCD is the most robust way to identify the correct columns.

Query with Cone Filter#

Catalogue cone searches are implemented using the ADQL spatial function CONTAINS(POINT, CIRCLE). Since query_catalog() builds its WHERE clause from the column_filters dictionary, the spatial constraint must be provided as a key with value 1 (corresponding to CONTAINS(...) = 1 in ADQL).

Under the hood, query_catalog() submits an ADQL query via TAP. For example, a cone search on the KiDS DR4 catalogue corresponds to an ADQL statement of the form:

SELECT *
FROM KiDS_DR4_1_ugriZYJHKs_cat_fits
WHERE CONTAINS(POINT('', RAJ2000, DECJ2000), CIRCLE('', <ra_deg>, <dec_deg>, <radius_deg>))=1

Here:

  • POINT('', RAJ2000, DECJ2000) defines the source position using the catalogue RA and Dec columns.

  • CIRCLE('', <ra_deg>, <dec_deg>, <radius_deg>) defines the search region in degrees.

  • CONTAINS evaluates to 1 when the source lies within the specified region.

When using column_filters, the dictionary key is inserted as the left-hand side of the WHERE clause, and the dictionary value becomes the right-hand side. Therefore, providing a key like CONTAINS(...) with value 1 yields CONTAINS(...) = 1 in ADQL.

The helper functions below construct this automatically.

Helper Function#

Define target of interest and search radius:

>>> from astropy.coordinates import SkyCoord
>>> import astropy.units as u
>>> table_name = "KiDS_DR4_1_ugriZYJHKs_cat_fits"
>>> coords = SkyCoord.from_name("NGC1097")
>>> radius = 3 * u.arcmin

Helper functions to identify the main id, ra, and dec columns and construct the ADQL cone search predicate:

>>> MAIN_UCD_TO_KEY = {
...     "meta.id;meta.main": "id",
...     "pos.eq.ra;meta.main": "ra",
...     "pos.eq.dec;meta.main": "dec",
... }
...
>>> def _set_main_cols(table_name=None):
...     """Find main id/ra/dec columns for one catalogue or all catalogues."""
...     ucd_clause = " OR ".join(f"ucd = '{ucd}'" for ucd in MAIN_UCD_TO_KEY)
...
...     where_parts = [f"({ucd_clause})"]
...     if table_name:
...         name = table_name.strip()
...         bare = name[7:] if name.lower().startswith("safcat.") else name
...         names = [n.replace("'", "''") for n in {bare, f"safcat.{bare}"} if n]
...         name_clause = " OR ".join(f"table_name = '{n}'" for n in names)
...         where_parts.insert(0, f"({name_clause})")
...
...     query = f"""
...         SELECT table_name, column_name, ucd, unit
...         FROM TAP_SCHEMA.columns
...         WHERE {' AND '.join(where_parts)}
...         ORDER BY table_name, ucd DESC
...     """
...
...     return eso.query_tap(query, tap_endpoint="tap_cat")
...
>>> def main_cols(table_name):
...     """Return main id/ra/dec column names for a catalogue table."""
...     principal = {"id": None, "ra": None, "dec": None}
...     rows = _set_main_cols(table_name=table_name)
...
...     for row in rows:
...         key = MAIN_UCD_TO_KEY.get(row["ucd"])
...         if key and principal[key] is None:
...             principal[key] = row["column_name"]
...
...     return principal
...
>>> def make_cone_filter(ra, dec, radius, table_name):
...        """
...        Construct an ADQL cone-search predicate for catalogue queries.
...
...        Parameters
...        ----------
...        ra : astropy.units.Quantity
...            Right ascension of cone centre.
...        dec : astropy.units.Quantity
...            Declination of cone centre.
...        radius : astropy.units.Quantity
...            Search radius.
...        table_name : str
...            Catalogue table name.
...
...        Returns
...        -------
...        dict
...            Dictionary suitable for ``column_filters`` of the form
...            ``{predicate: 1}``, corresponding to
...            ``CONTAINS(...) = 1`` in ADQL.
...        """
...
...        ra_deg = ra.to_value(u.deg)
...        dec_deg = dec.to_value(u.deg)
...        rad_deg = radius.to_value(u.deg)
...
...        cols = main_cols(table_name)
...        if not cols["ra"] or not cols["dec"]:
...            raise ValueError(
...                f"Missing main RA/Dec columns for table '{table_name}'"
...            )
...
...        predicate = (
...            f"CONTAINS("
...            f"POINT('', {cols['ra']}, {cols['dec']}), "
...            f"CIRCLE('', {ra_deg}, {dec_deg}, {rad_deg})"
...            f")"
...        )
...
...        return {predicate: 1}

Example lookup of the main columns for a catalogue:

>>> ird = main_cols(table_name)
>>> print(ird["ra"], ird["dec"])
RAJ2000 DECJ2000

Run search with cone filter:

>>> column_filters = make_cone_filter(
...     ra=coords.ra,
...     dec=coords.dec,
...     radius=radius,
...     table_name=table_name,
... )
>>> table = eso.query_catalog(
...     catalog=table_name,
...     column_filters=column_filters,
... )
>>> table
<Table length=55>
Level    ALPHA_J2000      A_IMAGE         A_WORLD    ...      Z_B_MAX             Z_B_MIN               Z_ML
count        deg           pixel            deg      ...
float32     float64        float64         float32    ...      float64             float64             float64
---------- ----------- ------------------ ------------ ... ------------------ ------------------- -------------------
0.02452336   41.624103           3.264482 0.0001940674 ...               0.76                0.69                0.73
0.02450416   41.632288           1.199719 7.132157e-05 ...               1.35                0.52                1.87
0.02449745   41.634118           1.714497 0.0001019072 ...               1.03 0.41000000000000003                 7.0
0.02455906    41.62684 1.2852190000000001 7.640447e-05 ...               1.62                0.98                1.65
    ...         ...                ...          ... ...                ...                 ...                 ...
0.02458552    41.62298           1.037333  6.16569e-05 ... 1.6400000000000001                0.63                3.66
0.02453066   41.625326           1.191271 7.081894e-05 ...               1.38                0.53 0.24000000000000002
0.02451551   41.624227           1.582422 9.406044e-05 ...               0.63 0.43000000000000005                0.55
0.02454042   41.618984            2.15449 0.0001280547 ... 0.6799999999999999                0.17                0.11

Combining with Additional Column Filters#

The cone filter returns a standard column_filters dictionary. Additional constraints (e.g. magnitude limits) can be added using normal dictionary updates.

>>> # Add a magnitude constraint
>>> column_filters.update({"MAG_AUTO": "<22"})
>>> table = eso.query_catalog(
...     catalog="KiDS_DR4_1_ugriZYJHKs_cat_fits",
...     column_filters=column_filters,
... )
>>> table
<Table length=6>
Level    ALPHA_J2000      A_IMAGE         A_WORLD     Agaper ...   Ypos     Z_B   Z_B_MAX       Z_B_MIN              Z_ML
count        deg           pixel            deg       arcsec ...  pixel
float32     float64        float64         float32    float32 ... float32  float64 float64       float64            float64
---------- ----------- ------------------ ------------ ------- ... -------- ------- ------- ------------------- ------------------
0.02452336   41.624103           3.264482 0.0001940674    0.99 ... 9077.715    0.73    0.76                0.69               0.73
0.02450728   41.622675           3.695437 0.0002196531    1.06 ... 9153.268    0.51    0.54 0.48000000000000004               0.51
0.02450339    41.63336           2.607809  0.000155017     0.9 ... 9207.265    0.96    1.35  0.8200000000000001 1.6400000000000001
0.02452449    41.62697 2.9889900000000003 0.0001776759    0.95 ... 9217.702    0.72    0.75  0.6699999999999999               0.72
0.02452196   41.626775           2.787715 0.0001656992    0.92 ...   9311.3    0.56    0.59                0.53               0.56
0.0245021   41.629953           5.531547 0.0003288784    1.38 ... 9338.087     0.7    0.74  0.6599999999999999                0.7

previous

Observations - Download Data

next

Catalogues - Query for Catalogue Data

On this page
  • Identify Coordinate Columns
  • Query with Cone Filter
    • Helper Function
    • Combining with Additional Column Filters

© Copyright 2011-2026, The Astroquery Developers.

Code of Conduct

Updated on 02 Oct 2026 , built with Sphinx 9.0.4