Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Table Access Protocol (TAP) queries: epochs

Ref: TAP

import numpy as np
from lsst.rsp import get_tap_service
import pandas as pd
import matplotlib.pyplot as plt
import time

service = get_tap_service ('tap')
assert service is not None

fields = pd.read_csv('LSSTComCam_fields.csv', index_col='field')

ddeg = .01
def grabcone(field):
    return "CONTAINS(POINT('ICRS', coord_ra, coord_dec), " +\
           f"CIRCLE('ICRS', {fields.loc[field, 'ra_deg']}, " +\
                          f"{fields.loc[field, 'dec_deg']}, {ddeg})) = 1"
queries = pd.DataFrame(columns=['select', 'from', 'where'])
queries.loc['columns'] = ["column_name, datatype, description, unit",
                          "tap_schema.columns",
                          "table_name = 'dp1.Object'"]
qcols = queries.columns

query = ''
for col in qcols:
    if queries.loc['columns'][col] != '':
        query += f' {col.upper()} {queries.loc['columns'][col]}'
print(query)

job = service.submit_job(query)
job.run()
job.wait(phases=['COMPLETED', 'ERROR'])
if job.phase == 'ERROR':
    job.raise_if_error()
elif job.phase == 'COMPLETED':
    out = job.fetch_result().to_table()

queries.loc['columns', 'out'] = out
print(type(out), len(out))
#       display(out)
print()
 SELECT column_name, datatype, description, unit FROM tap_schema.columns WHERE table_name = 'dp1.Object'
<class 'astropy.table.table.Table'> 1296

ocols = queries.loc['columns', 'out'].to_pandas()
ocols
Loading...
ocols.loc[ocols['column_name'].str.contains('epoch', case=False)]
Loading...