{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hubble Source Catalog v3: Table Access Protocol Service\n", "\n", "Table Access Protocol Services allow more direct and flexible access to astronomical data than the simpler types of IVOA standard data services. Queries are built with a SQL-like language ADQL (Astronomical Data Query Language), and can include geographic / spatial queries as well as filtering on other characteristics of the data. This also allows the user fine-grained control over the returned columns, unlike the fixed set from cone, image, and spectral services.\n", "\n", "For this example, we'll be using the astroquery TAP/TAP+ client, which was developed by ESA for working with the GAIA catalog, but is interoperable with any valid TAP service. As an astroquery project, TAP+ documentation is available at ReadTheDocs: http://astroquery.readthedocs.io/en/latest/utils/tap.html\n", "\n", "\n", "We'll be using TAP+ to call the Hubble Source Catalog v3 TAP service at MAST. The schema is described within the service, and we'll show how to inspect it. The schema is also the same as the one used in the CasJobs interface, with an additional view for the most common positional queries. CasJobs has its own copy of the schema documentation, which can be accessed through its own site: http://mastweb.stsci.edu/hcasjobs/" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import requests, io, astropy\n", "\n", "## For handling ordinary astropy Tables\n", "from astropy.table import Table, vstack\n", "\n", "## For reading FITS files\n", "import astropy.io.fits as apfits\n", "\n", "## There are a number of relatively unimportant warnings that \n", "## show up, so for now, suppress them:\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# Use the astroquery TapPlus library.\n", "from astroquery.utils.tap.core import TapPlus" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To use TAP+ one opens a connection to the service URL. Then, if one does not already know the database table information associated with the service, one can ask the service for it.\n", "\n", "From here, one can build and run the main query, either synchronously or asynchronously. Because the HSC is a large catalog and we'll be doing positional queries that can take a while, we'll be defaulting to asynchronous calls.\n", "\n", "This first call is to find out more about the main positional search view, including what columns are available:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Created TAP+ (v1.0.1) - Connection:\n", "\tHost: vao.stsci.edu\n", "\tUse HTTPS: False\n", "\tPort: 80\n", "\tSSL Port: 443\n", "Retrieving tables...\n", "Parsing tables...\n", "Done.\n", "\n", "\n", "TAP Table name: dbo.dbo.SumMagAper2CatView\n", "Description: This table provides Source Extractor magaper2 information for each match based on sources with valid Source Extractor aper2 magnitudes. The companion table SumMagAper2CatViewView contains other summary information for the corresponding match\n", "Num. columns: 818\n", "\n", "\n", "MatchID\n", "MatchRA\n", "MatchDec\n", "DSigma\n", "AbsCorr\n", "NumFilters\n", "NumVisits\n", "NumImages\n", "StartTime\n", "StopTime\n", "StartMJD\n", "StopMJD\n", "TargetName\n", "CI\n", "CI_Sigma\n", "KronRadius\n", "KronRadius_Sigma\n", "Extinction\n", "SpectrumFlag\n", "MatchID\n", "W3_BLANK\n", "W3_BLANK_MAD\n", "W3_BLANK_N\n", "W2_F122M\n", "W2_F122M_MAD\n", "W2_F122M_N\n", "W2_F160BN15\n", "W2_F160BN15_MAD\n", "W2_F160BN15_N\n", "W2_F160BW\n", "W2_F160BW_MAD\n", "W2_F160BW_N\n", "W2_F170W\n", "W2_F170W_MAD\n", "W2_F170W_N\n", "W2_F185W\n", "W2_F185W_MAD\n", "W2_F185W_N\n", "W3_F200LP\n", "W3_F200LP_MAD\n", "W3_F200LP_N\n", "W3_F218W\n", "W3_F218W_MAD\n", "W3_F218W_N\n", "W2_F218W\n", "W2_F218W_MAD\n", "W2_F218W_N\n", "W3_F225W\n", "W3_F225W_MAD\n", "W3_F225W_N\n", "W3_FQ232N\n", "W3_FQ232N_MAD\n", "W3_FQ232N_N\n", "W3_FQ243N\n", "W3_FQ243N_MAD\n", "W3_FQ243N_N\n", "W2_F255W\n", "W2_F255W_MAD\n", "W2_F255W_N\n", "W3_F275W\n", "W3_F275W_MAD\n", "W3_F275W_N\n", "W3_F280N\n", "W3_F280N_MAD\n", "W3_F280N_N\n", "W3_G280\n", "W3_G280_MAD\n", "W3_G280_N\n", "W2_F300W\n", "W2_F300W_MAD\n", "W2_F300W_N\n", "W3_F300X\n", "W3_F300X_MAD\n", "W3_F300X_N\n", "W3_F336W\n", "W3_F336W_MAD\n", "W3_F336W_N\n", "W2_F336W\n", "W2_F336W_MAD\n", "W2_F336W_N\n", "W3_F343N\n", "W3_F343N_MAD\n", "W3_F343N_N\n", "W2_F343N\n", "W2_F343N_MAD\n", "W2_F343N_N\n", "W3_F350LP\n", "W3_F350LP_MAD\n", "W3_F350LP_N\n", "W3_F373N\n", "W3_F373N_MAD\n", "W3_F373N_N\n", "W2_F375N\n", "W2_F375N_MAD\n", "W2_F375N_N\n", "W3_FQ378N\n", "W3_FQ378N_MAD\n", "W3_FQ378N_N\n", "W2_F380W\n", "W2_F380W_MAD\n", "W2_F380W_N\n", "W3_FQ387N\n", "W3_FQ387N_MAD\n", "W3_FQ387N_N\n", "W3_F390M\n", "W3_F390M_MAD\n", "W3_F390M_N\n", "W2_F390N\n", "W2_F390N_MAD\n", "W2_F390N_N\n", "W3_F390W\n", "W3_F390W_MAD\n", "W3_F390W_N\n", "W3_F395N\n", "W3_F395N_MAD\n", "W3_F395N_N\n", "W3_F410M\n", "W3_F410M_MAD\n", "W3_F410M_N\n", "W2_F410M\n", "W2_F410M_MAD\n", "W2_F410M_N\n", "W3_FQ422M\n", "W3_FQ422M_MAD\n", "W3_FQ422M_N\n", "A_F435W\n", "A_F435W_MAD\n", "A_F435W_N\n", "W3_FQ436N\n", "W3_FQ436N_MAD\n", "W3_FQ436N_N\n", "W3_FQ437N\n", "W3_FQ437N_MAD\n", "W3_FQ437N_N\n", "W2_F437N\n", "W2_F437N_MAD\n", "W2_F437N_N\n", "W3_F438W\n", "W3_F438W_MAD\n", "W3_F438W_N\n", "W2_F439W\n", "W2_F439W_MAD\n", "W2_F439W_N\n", "W2_F450W\n", "W2_F450W_MAD\n", "W2_F450W_N\n", "W3_F467M\n", "W3_F467M_MAD\n", "W3_F467M_N\n", "W2_F467M\n", "W2_F467M_MAD\n", "W2_F467M_N\n", "W3_F469N\n", "W3_F469N_MAD\n", "W3_F469N_N\n", "W2_F469N\n", "W2_F469N_MAD\n", "W2_F469N_N\n", "A_F475W\n", "A_F475W_MAD\n", "A_F475W_N\n", "W3_F475W\n", "W3_F475W_MAD\n", "W3_F475W_N\n", "W3_F475X\n", "W3_F475X_MAD\n", "W3_F475X_N\n", "W3_F487N\n", "W3_F487N_MAD\n", "W3_F487N_N\n", "W2_F487N\n", "W2_F487N_MAD\n", "W2_F487N_N\n", "W3_FQ492N\n", "W3_FQ492N_MAD\n", "W3_FQ492N_N\n", "A_F502N\n", "A_F502N_MAD\n", "A_F502N_N\n", "W3_F502N\n", "W3_F502N_MAD\n", "W3_F502N_N\n", "W2_F502N\n", "W2_F502N_MAD\n", "W2_F502N_N\n", "W3_FQ508N\n", "W3_FQ508N_MAD\n", "W3_FQ508N_N\n", "W3_F547M\n", "W3_F547M_MAD\n", "W3_F547M_N\n", "W2_F547M\n", "W2_F547M_MAD\n", "W2_F547M_N\n", "A_F550M\n", "A_F550M_MAD\n", "A_F550M_N\n", "A_F555W\n", "A_F555W_MAD\n", "A_F555W_N\n", "W3_F555W\n", "W3_F555W_MAD\n", "W3_F555W_N\n", "W2_F555W\n", "W2_F555W_MAD\n", "W2_F555W_N\n", "W2_F569W\n", "W2_F569W_MAD\n", "W2_F569W_N\n", "W3_FQ575N\n", "W3_FQ575N_MAD\n", "W3_FQ575N_N\n", "W2_F588N\n", "W2_F588N_MAD\n", "W2_F588N_N\n", "W3_F600LP\n", "W3_F600LP_MAD\n", "W3_F600LP_N\n", "A_F606W\n", "A_F606W_MAD\n", "A_F606W_N\n", "W3_F606W\n", "W3_F606W_MAD\n", "W3_F606W_N\n", "W2_F606W\n", "W2_F606W_MAD\n", "W2_F606W_N\n", "W3_FQ619N\n", "W3_FQ619N_MAD\n", "W3_FQ619N_N\n", "W3_F621M\n", "W3_F621M_MAD\n", "W3_F621M_N\n", "W2_F622W\n", "W2_F622W_MAD\n", "W2_F622W_N\n", "A_F625W\n", "A_F625W_MAD\n", "A_F625W_N\n", "W3_F625W\n", "W3_F625W_MAD\n", "W3_F625W_N\n", "W3_F631N\n", "W3_F631N_MAD\n", "W3_F631N_N\n", "W2_F631N\n", "W2_F631N_MAD\n", "W2_F631N_N\n", "W3_FQ634N\n", "W3_FQ634N_MAD\n", "W3_FQ634N_N\n", "W3_F645N\n", "W3_F645N_MAD\n", "W3_F645N_N\n", "W3_F656N\n", "W3_F656N_MAD\n", "W3_F656N_N\n", "W2_F656N\n", "W2_F656N_MAD\n", "W2_F656N_N\n", "W3_F657N\n", "W3_F657N_MAD\n", "W3_F657N_N\n", "A_F658N\n", "A_F658N_MAD\n", "A_F658N_N\n", "W3_F658N\n", "W3_F658N_MAD\n", "W3_F658N_N\n", "W2_F658N\n", "W2_F658N_MAD\n", "W2_F658N_N\n", "A_F660N\n", "A_F660N_MAD\n", "A_F660N_N\n", "W3_F665N\n", "W3_F665N_MAD\n", "W3_F665N_N\n", "W3_F665N_F6\n", "W3_F665N_F6_MAD\n", "W3_F665N_F6_N\n", "W3_FQ672N\n", "W3_FQ672N_MAD\n", "W3_FQ672N_N\n", "W3_F673N\n", "W3_F673N_MAD\n", "W3_F673N_N\n", "W2_F673N\n", "W2_F673N_MAD\n", "W2_F673N_N\n", "W3_FQ674N\n", "W3_FQ674N_MAD\n", "W3_FQ674N_N\n", "W2_F675W\n", "W2_F675W_MAD\n", "W2_F675W_N\n", "W3_F680N\n", "W3_F680N_MAD\n", "W3_F680N_N\n", "W3_F689M\n", "W3_F689M_MAD\n", "W3_F689M_N\n", "W2_F702W\n", "W2_F702W_MAD\n", "W2_F702W_N\n", "W3_FQ727N\n", "W3_FQ727N_MAD\n", "W3_FQ727N_N\n", "W3_FQ750N\n", "W3_FQ750N_MAD\n", "W3_FQ750N_N\n", "W3_F763M\n", "W3_F763M_MAD\n", "W3_F763M_N\n", "A_F775W\n", "A_F775W_MAD\n", "A_F775W_N\n", "W3_F775W\n", "W3_F775W_MAD\n", "W3_F775W_N\n", "W2_F785LP\n", "W2_F785LP_MAD\n", "W2_F785LP_N\n", "W2_F791W\n", "W2_F791W_MAD\n", "W2_F791W_N\n", "A_F814W\n", "A_F814W_MAD\n", "A_F814W_N\n", "W3_F814W\n", "W3_F814W_MAD\n", "W3_F814W_N\n", "W2_F814W\n", "W2_F814W_MAD\n", "W2_F814W_N\n", "W3_F845M\n", "W3_F845M_MAD\n", "W3_F845M_N\n", "A_F850LP\n", "A_F850LP_MAD\n", "A_F850LP_N\n", "W3_F850LP\n", "W3_F850LP_MAD\n", "W3_F850LP_N\n", "W2_F850LP\n", "W2_F850LP_MAD\n", "W2_F850LP_N\n", "W3_FQ889N\n", "W3_FQ889N_MAD\n", "W3_FQ889N_N\n", "W3_FQ906N\n", "W3_FQ906N_MAD\n", "W3_FQ906N_N\n", "W3_FQ924N\n", "W3_FQ924N_MAD\n", "W3_FQ924N_N\n", "W3_FQ937N\n", "W3_FQ937N_MAD\n", "W3_FQ937N_N\n", "W3_F953N\n", "W3_F953N_MAD\n", "W3_F953N_N\n", "W2_F953N\n", "W2_F953N_MAD\n", "W2_F953N_N\n", "W3_F098M\n", "W3_F098M_MAD\n", "W3_F098M_N\n", "W3_G102\n", "W3_G102_MAD\n", "W3_G102_N\n", "W2_F1042M\n", "W2_F1042M_MAD\n", "W2_F1042M_N\n", "W3_F105W\n", "W3_F105W_MAD\n", "W3_F105W_N\n", "W3_F110W\n", "W3_F110W_MAD\n", "W3_F110W_N\n", "W3_F125W\n", "W3_F125W_MAD\n", "W3_F125W_N\n", "W3_F126N\n", "W3_F126N_MAD\n", "W3_F126N_N\n", "W3_F127M\n", "W3_F127M_MAD\n", "W3_F127M_N\n", "W3_F128N\n", "W3_F128N_MAD\n", "W3_F128N_N\n", "W3_F130N\n", "W3_F130N_MAD\n", "W3_F130N_N\n", "W3_F132N\n", "W3_F132N_MAD\n", "W3_F132N_N\n", "W3_F139M\n", "W3_F139M_MAD\n", "W3_F139M_N\n", "W3_F140W\n", "W3_F140W_MAD\n", "W3_F140W_N\n", "W3_G141\n", "W3_G141_MAD\n", "W3_G141_N\n", "W3_F153M\n", "W3_F153M_MAD\n", "W3_F153M_N\n", "W3_F160W\n", "W3_F160W_MAD\n", "W3_F160W_N\n", "W3_F164N\n", "W3_F164N_MAD\n", "W3_F164N_N\n", "W3_F167N\n", "W3_F167N_MAD\n", "W3_F167N_N\n", "W3_BLANK\n", "W3_BLANK_MAD\n", "W3_BLANK_N\n", "W2_F122M\n", "W2_F122M_MAD\n", "W2_F122M_N\n", "W2_F160BN15\n", "W2_F160BN15_MAD\n", "W2_F160BN15_N\n", "W2_F160BW\n", "W2_F160BW_MAD\n", "W2_F160BW_N\n", "W2_F170W\n", "W2_F170W_MAD\n", "W2_F170W_N\n", "W2_F185W\n", "W2_F185W_MAD\n", "W2_F185W_N\n", "W3_F200LP\n", "W3_F200LP_MAD\n", "W3_F200LP_N\n", "W3_F218W\n", "W3_F218W_MAD\n", "W3_F218W_N\n", "W2_F218W\n", "W2_F218W_MAD\n", "W2_F218W_N\n", "W3_F225W\n", "W3_F225W_MAD\n", "W3_F225W_N\n", "W3_FQ232N\n", "W3_FQ232N_MAD\n", "W3_FQ232N_N\n", "W3_FQ243N\n", "W3_FQ243N_MAD\n", "W3_FQ243N_N\n", "W2_F255W\n", "W2_F255W_MAD\n", "W2_F255W_N\n", "W3_F275W\n", "W3_F275W_MAD\n", "W3_F275W_N\n", "W3_F280N\n", "W3_F280N_MAD\n", "W3_F280N_N\n", "W3_G280\n", "W3_G280_MAD\n", "W3_G280_N\n", "W2_F300W\n", "W2_F300W_MAD\n", "W2_F300W_N\n", "W3_F300X\n", "W3_F300X_MAD\n", "W3_F300X_N\n", "W3_F336W\n", "W3_F336W_MAD\n", "W3_F336W_N\n", "W2_F336W\n", "W2_F336W_MAD\n", "W2_F336W_N\n", "W3_F343N\n", "W3_F343N_MAD\n", "W3_F343N_N\n", "W2_F343N\n", "W2_F343N_MAD\n", "W2_F343N_N\n", "W3_F350LP\n", "W3_F350LP_MAD\n", "W3_F350LP_N\n", "W3_F373N\n", "W3_F373N_MAD\n", "W3_F373N_N\n", "W2_F375N\n", "W2_F375N_MAD\n", "W2_F375N_N\n", "W3_FQ378N\n", "W3_FQ378N_MAD\n", "W3_FQ378N_N\n", "W2_F380W\n", "W2_F380W_MAD\n", "W2_F380W_N\n", "W3_FQ387N\n", "W3_FQ387N_MAD\n", "W3_FQ387N_N\n", "W3_F390M\n", "W3_F390M_MAD\n", "W3_F390M_N\n", "W2_F390N\n", "W2_F390N_MAD\n", "W2_F390N_N\n", "W3_F390W\n", "W3_F390W_MAD\n", "W3_F390W_N\n", "W3_F395N\n", "W3_F395N_MAD\n", "W3_F395N_N\n", "W3_F410M\n", "W3_F410M_MAD\n", "W3_F410M_N\n", "W2_F410M\n", "W2_F410M_MAD\n", "W2_F410M_N\n", "W3_FQ422M\n", "W3_FQ422M_MAD\n", "W3_FQ422M_N\n", "A_F435W\n", "A_F435W_MAD\n", "A_F435W_N\n", "W3_FQ436N\n", "W3_FQ436N_MAD\n", "W3_FQ436N_N\n", "W3_FQ437N\n", "W3_FQ437N_MAD\n", "W3_FQ437N_N\n", "W2_F437N\n", "W2_F437N_MAD\n", "W2_F437N_N\n", "W3_F438W\n", "W3_F438W_MAD\n", "W3_F438W_N\n", "W2_F439W\n", "W2_F439W_MAD\n", "W2_F439W_N\n", "W2_F450W\n", "W2_F450W_MAD\n", "W2_F450W_N\n", "W3_F467M\n", "W3_F467M_MAD\n", "W3_F467M_N\n", "W2_F467M\n", "W2_F467M_MAD\n", "W2_F467M_N\n", "W3_F469N\n", "W3_F469N_MAD\n", "W3_F469N_N\n", "W2_F469N\n", "W2_F469N_MAD\n", "W2_F469N_N\n", "A_F475W\n", "A_F475W_MAD\n", "A_F475W_N\n", "W3_F475W\n", "W3_F475W_MAD\n", "W3_F475W_N\n", "W3_F475X\n", "W3_F475X_MAD\n", "W3_F475X_N\n", "W3_F487N\n", "W3_F487N_MAD\n", "W3_F487N_N\n", "W2_F487N\n", "W2_F487N_MAD\n", "W2_F487N_N\n", "W3_FQ492N\n", "W3_FQ492N_MAD\n", "W3_FQ492N_N\n", "A_F502N\n", "A_F502N_MAD\n", "A_F502N_N\n", "W3_F502N\n", "W3_F502N_MAD\n", "W3_F502N_N\n", "W2_F502N\n", "W2_F502N_MAD\n", "W2_F502N_N\n", "W3_FQ508N\n", "W3_FQ508N_MAD\n", "W3_FQ508N_N\n", "W3_F547M\n", "W3_F547M_MAD\n", "W3_F547M_N\n", "W2_F547M\n", "W2_F547M_MAD\n", "W2_F547M_N\n", "A_F550M\n", "A_F550M_MAD\n", "A_F550M_N\n", "A_F555W\n", "A_F555W_MAD\n", "A_F555W_N\n", "W3_F555W\n", "W3_F555W_MAD\n", "W3_F555W_N\n", "W2_F555W\n", "W2_F555W_MAD\n", "W2_F555W_N\n", "W2_F569W\n", "W2_F569W_MAD\n", "W2_F569W_N\n", "W3_FQ575N\n", "W3_FQ575N_MAD\n", "W3_FQ575N_N\n", "W2_F588N\n", "W2_F588N_MAD\n", "W2_F588N_N\n", "W3_F600LP\n", "W3_F600LP_MAD\n", "W3_F600LP_N\n", "A_F606W\n", "A_F606W_MAD\n", "A_F606W_N\n", "W3_F606W\n", "W3_F606W_MAD\n", "W3_F606W_N\n", "W2_F606W\n", "W2_F606W_MAD\n", "W2_F606W_N\n", "W3_FQ619N\n", "W3_FQ619N_MAD\n", "W3_FQ619N_N\n", "W3_F621M\n", "W3_F621M_MAD\n", "W3_F621M_N\n", "W2_F622W\n", "W2_F622W_MAD\n", "W2_F622W_N\n", "A_F625W\n", "A_F625W_MAD\n", "A_F625W_N\n", "W3_F625W\n", "W3_F625W_MAD\n", "W3_F625W_N\n", "W3_F631N\n", "W3_F631N_MAD\n", "W3_F631N_N\n", "W2_F631N\n", "W2_F631N_MAD\n", "W2_F631N_N\n", "W3_FQ634N\n", "W3_FQ634N_MAD\n", "W3_FQ634N_N\n", "W3_F645N\n", "W3_F645N_MAD\n", "W3_F645N_N\n", "W3_F656N\n", "W3_F656N_MAD\n", "W3_F656N_N\n", "W2_F656N\n", "W2_F656N_MAD\n", "W2_F656N_N\n", "W3_F657N\n", "W3_F657N_MAD\n", "W3_F657N_N\n", "A_F658N\n", "A_F658N_MAD\n", "A_F658N_N\n", "W3_F658N\n", "W3_F658N_MAD\n", "W3_F658N_N\n", "W2_F658N\n", "W2_F658N_MAD\n", "W2_F658N_N\n", "A_F660N\n", "A_F660N_MAD\n", "A_F660N_N\n", "W3_F665N\n", "W3_F665N_MAD\n", "W3_F665N_N\n", "W3_F665N_F6\n", "W3_F665N_F6_MAD\n", "W3_F665N_F6_N\n", "W3_FQ672N\n", "W3_FQ672N_MAD\n", "W3_FQ672N_N\n", "W3_F673N\n", "W3_F673N_MAD\n", "W3_F673N_N\n", "W2_F673N\n", "W2_F673N_MAD\n", "W2_F673N_N\n", "W3_FQ674N\n", "W3_FQ674N_MAD\n", "W3_FQ674N_N\n", "W2_F675W\n", "W2_F675W_MAD\n", "W2_F675W_N\n", "W3_F680N\n", "W3_F680N_MAD\n", "W3_F680N_N\n", "W3_F689M\n", "W3_F689M_MAD\n", "W3_F689M_N\n", "W2_F702W\n", "W2_F702W_MAD\n", "W2_F702W_N\n", "W3_FQ727N\n", "W3_FQ727N_MAD\n", "W3_FQ727N_N\n", "W3_FQ750N\n", "W3_FQ750N_MAD\n", "W3_FQ750N_N\n", "W3_F763M\n", "W3_F763M_MAD\n", "W3_F763M_N\n", "A_F775W\n", "A_F775W_MAD\n", "A_F775W_N\n", "W3_F775W\n", "W3_F775W_MAD\n", "W3_F775W_N\n", "W2_F785LP\n", "W2_F785LP_MAD\n", "W2_F785LP_N\n", "W2_F791W\n", "W2_F791W_MAD\n", "W2_F791W_N\n", "A_F814W\n", "A_F814W_MAD\n", "A_F814W_N\n", "W3_F814W\n", "W3_F814W_MAD\n", "W3_F814W_N\n", "W2_F814W\n", "W2_F814W_MAD\n", "W2_F814W_N\n", "W3_F845M\n", "W3_F845M_MAD\n", "W3_F845M_N\n", "A_F850LP\n", "A_F850LP_MAD\n", "A_F850LP_N\n", "W3_F850LP\n", "W3_F850LP_MAD\n", "W3_F850LP_N\n", "W2_F850LP\n", "W2_F850LP_MAD\n", "W2_F850LP_N\n", "W3_FQ889N\n", "W3_FQ889N_MAD\n", "W3_FQ889N_N\n", "W3_FQ906N\n", "W3_FQ906N_MAD\n", "W3_FQ906N_N\n", "W3_FQ924N\n", "W3_FQ924N_MAD\n", "W3_FQ924N_N\n", "W3_FQ937N\n", "W3_FQ937N_MAD\n", "W3_FQ937N_N\n", "W3_F953N\n", "W3_F953N_MAD\n", "W3_F953N_N\n", "W2_F953N\n", "W2_F953N_MAD\n", "W2_F953N_N\n", "W3_F098M\n", "W3_F098M_MAD\n", "W3_F098M_N\n", "W3_G102\n", "W3_G102_MAD\n", "W3_G102_N\n", "W2_F1042M\n", "W2_F1042M_MAD\n", "W2_F1042M_N\n", "W3_F105W\n", "W3_F105W_MAD\n", "W3_F105W_N\n", "W3_F110W\n", "W3_F110W_MAD\n", "W3_F110W_N\n", "W3_F125W\n", "W3_F125W_MAD\n", "W3_F125W_N\n", "W3_F126N\n", "W3_F126N_MAD\n", "W3_F126N_N\n", "W3_F127M\n", "W3_F127M_MAD\n", "W3_F127M_N\n", "W3_F128N\n", "W3_F128N_MAD\n", "W3_F128N_N\n", "W3_F130N\n", "W3_F130N_MAD\n", "W3_F130N_N\n", "W3_F132N\n", "W3_F132N_MAD\n", "W3_F132N_N\n", "W3_F139M\n", "W3_F139M_MAD\n", "W3_F139M_N\n", "W3_F140W\n", "W3_F140W_MAD\n", "W3_F140W_N\n", "W3_G141\n", "W3_G141_MAD\n", "W3_G141_N\n", "W3_F153M\n", "W3_F153M_MAD\n", "W3_F153M_N\n", "W3_F160W\n", "W3_F160W_MAD\n", "W3_F160W_N\n", "W3_F164N\n", "W3_F164N_MAD\n", "W3_F164N_N\n", "W3_F167N\n", "W3_F167N_MAD\n", "W3_F167N_N\n" ] } ], "source": [ "HSC_service = TapPlus(url=\"http://vao.stsci.edu/HSCv3TAP/tapservice.aspx\")\n", "HSC_tables = HSC_service.load_tables()\n", "print('\\n')\n", "for table in HSC_tables:\n", " if( table.get_name() == 'dbo.SumMagAper2CatView'):\n", " print(table)\n", " print('\\n')\n", " for column in table.get_columns():\n", " print(column.get_name())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown above, this view contains every filter known in the HSC, and can return each even if it is NULL for the given match. In order to narrow results, one could query on individual filters where their value is not null, or only return certain of them. But we can just query all of them:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Launched query: '\n", "SELECT TOP 10 *\n", "FROM dbo.SumMagAper2CatView\n", "WHERE CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',129.23,7.95,0.1))=1\n", " '\n", "Retrieving async. results...\n", "Query finished.\n", "MatchID MatchRA MatchDec ... W3_F167N_MAD W3_F167N_N\n", "-------- ------------------ ------------------ ... ------------ ----------\n", "88948624 129.22164625969299 8.0197631944813494 ... -- 0\n", "22234751 129.216553639387 8.0265527475678002 ... -- 0\n", "45388475 129.229160139556 7.9654842002266504 ... -- 0\n", "54238170 129.24254308061199 8.0115528457374303 ... -- 0\n", "92797231 129.23282038835899 8.0258153198482791 ... -- 0\n", "28097789 129.22671712415499 8.0333989430034496 ... -- 0\n", " 8305732 129.22093816656701 7.9531343895133997 ... -- 0\n", "77785873 129.248804954799 8.0422971117742108 ... -- 0\n", "54437305 129.24893458483601 8.0243362026990201 ... -- 0\n", "82408802 129.228819264354 7.96695928320396 ... -- 0\n" ] } ], "source": [ "job = HSC_service.launch_job_async(\"\"\"\n", "SELECT TOP 10 *\n", "FROM dbo.SumMagAper2CatView\n", "WHERE CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',129.23,7.95,0.1))=1\n", " \"\"\")\n", "HSC_results = job.get_results()\n", "HSC_results.pprint()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also filter by start/stop time or any other column in the view." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Launched query: '\n", "SELECT TOP 10 MatchID, MatchRA, MatchDec, TargetName, StartTime, StopTime, TargetName \n", "FROM dbo.SumMagAper2CatView\n", "WHERE \n", " W2_F122M > 0\n", " AND\n", " CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',129.23,7.95,0.1))=1\n", " '\n", "Retrieving async. results...\n", "Query finished.\n", "MatchID MatchRA MatchDec TargetName StartTime StopTime TargetName1\n", "------- ------- -------- ---------- --------- -------- -----------\n" ] } ], "source": [ "job = HSC_service.launch_job_async(\"\"\"\n", "SELECT TOP 10 MatchID, MatchRA, MatchDec, TargetName, StartTime, StopTime, TargetName \n", "FROM dbo.SumMagAper2CatView\n", "WHERE \n", " StartTime > '2015-01-01' AND StopTime < '2015-04-01'\n", " AND\n", " CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',129.23,7.95,0.1))=1\n", " \"\"\")\n", "HSC_results = job.get_results()\n", "HSC_results.pprint()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Launched query: '\n", "SELECT TOP 10 MatchRA, MatchDec, TargetName, NumImages, NumVisits\n", "FROM dbo.SumMagAper2CatView\n", "WHERE \n", " W2_F122M > 0\n", " AND\n", " CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',247.87,30.152,0.1))=1\n", " '\n", "Retrieving async. results...\n", "Query finished.\n", " MatchRA MatchDec TargetName NumImages NumVisits\n", "------------------ ------------------ ---------- --------- ---------\n", "247.86944826775101 30.1536084387992 P330-E 1 1\n", "247.86990879007899 30.1525377725618 P330-E 1 1\n", "247.88097320311999 30.163028444713099 P330-E 1 1\n", "247.87305031943799 30.166743774836299 P330-E 1 1\n", "247.89439787430399 30.1485816012081 P330-E 1 1\n", " 247.855006420758 30.1578759693301 P330-E 1 1\n", "247.88496375046299 30.145618410910501 P330-E 1 1\n", " 247.895091103054 30.137374719826401 P330-E 1 1\n", "247.87197263969199 30.166819962024 P330-E 1 1\n", " 247.854688069053 30.1459248467138 P330-E 1 1\n" ] } ], "source": [ "job = HSC_service.launch_job_async(\"\"\"\n", "SELECT TOP 10 MatchRA, MatchDec, TargetName, NumImages, NumVisits\n", "FROM dbo.SumMagAper2CatView\n", "WHERE \n", " W2_F122M > 0\n", " AND\n", " CONTAINS(POINT('ICRS', MatchRA, MatchDec),CIRCLE('ICRS',247.87,30.152,0.1))=1\n", " \"\"\")\n", "HSC_results = job.get_results()\n", "HSC_results.pprint()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Appendix: Documentation on the Standards\n", "\n", "### Table Access Protocol \n", "* IVOA standard for RESTful web service access to tabular data\n", "* http://www.ivoa.net/documents/TAP/\n", "\n", "### Hubble Source Catalog v3\n", "* Catalog created at MAST by combining the tens of thousands of visit-based source lists in the Hubble Legacy Archive (HLA) into a single master catalog. \n", "* https://archive.stsci.edu/hst/hsc/\n", "\n", "### Astronomical Query Data Language (2.0)\n", "* IVOA standard for querying astronomical data in tabular format, with geometric search support\n", "* http://www.ivoa.net/documents/latest/ADQL.html\n", "\n", "### TapPlus \n", "* Module created by ESAC Space Data Centre\n", "* http://astroquery.readthedocs.io/en/latest/utils/tap.html\n", "\n", "\n", " " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }