def querySpectra(self): try: self.standardQuery() coord = [] for i in range(0, len(self.ra)): coord.append(coords.SkyCoord(self.ra[i], self.dec[i], frame='icrs', unit='deg')) self.spectra = SDSS.query_crossid(coord, photoobj_fields=['modelMag_g', 'modelMag_r']) return self.spectra except: raise ValueError("No Results found. Try a different search area.")
#Query the object table #----------------Sloan objects---------------------- if Catalogue == 'sloan': mjd, plate, fiberID = int(mjd), int(plate), int(fiberID) obj_table = SDSS.query_specobj(mjd = mjd, plate = plate, fiberID=fiberID) if obj_table != None: #print Name, str(ephem.hours(math.radians(obj_table['ra'][0]))), str(ephem.degrees(math.radians(obj_table['dec'][0]))), '\n' SDSS_RA = obj_table['ra'][0] SDSS_DEC = obj_table['dec'][0] SDSS_RA_hours = str(ephem.hours(math.radians(obj_table['ra'][0]))) SDSS_DEC_hours = str(ephem.degrees(math.radians(obj_table['dec'][0]))) co = coords.SkyCoord(float(SDSS_RA), float(SDSS_DEC), unit="deg") Obj_query = SDSS.query_crossid(co, photoobj_fields=['modelMag_u', 'modelMag_g', 'modelMag_r']) mag_u, mag_g, mag_r = Obj_query['modelMag_u'][0], Obj_query['modelMag_g'][0], Obj_query['modelMag_r'][0] website = "http://dr12.sdss3.org/spectrumDetail?mjd={mjd}&fiber={fiber}&plateid={plateid}".format(mjd = mjd, fiber = fiberID, plateid = plate) print Name, website pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_RA_deg', SDSS_RA) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_DEC_deg', SDSS_DEC) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_RA_Hour', SDSS_RA_hours) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_DEC_Hour', SDSS_DEC_hours) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_u_magModel', mag_u) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_g_magModel', mag_g) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_r_magModel', mag_r) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_g_magModel', mag_g) pv.SaveParameter_ObjLog(CodeName, FileFolder, 'URL_SDSS', website)
def do_sdss(catalog): task_str = catalog.get_current_task_str() keys = list(catalog.entries.keys()) Mnames, Mradec = [], [] for oname in pbar(keys, task_str): # Some events may be merged in cleanup process, skip them if # non-existent. try: name = catalog.add_entry(oname) except Exception: catalog.log.warning( '"{}" was not found, suggests merge occurred in cleanup ' 'process.'.format(oname)) continue if (FASTSTARS.RA not in catalog.entries[name] or FASTSTARS.DEC not in catalog.entries[name]): continue else: Mnames.append(name) Mradec.append( str(catalog.entries[name][FASTSTARS.RA][0]['value']) + str(catalog.entries[name][FASTSTARS.DEC][0]['value'])) c = coord(Mradec, unit=(un.hourangle, un.deg), frame='icrs') # We must step through the data to query it, >100 is too many maxstep = 100 # stepsize Nentries = len(Mradec) roundindex = np.zeros( 0 ) # the stepping round that this star's data was acquired in, needed to connect the obj_id in the query to the name of the star for i in range(int(Nentries / maxstep) + 1): result_tmp = SDSS.query_crossid( c[maxstep * i:min(maxstep * (i + 1), Nentries)], timeout=200., photoobj_fields=[ 'u', 'err_u', 'g', 'err_g', 'r', 'err_r', 'i', 'err_i', 'z', 'err_z', 'MJD' ]) roundindex = np.concatenate( [roundindex, i * np.ones(len(result_tmp['obj_id']))]) if i == 0: result = result_tmp else: result = vstack([result, result_tmp]) flagsuccess = result['obj_id'] listfilter = ['u', 'g', 'r', 'i', 'z'] for i in range(len(flagsuccess)): Mi = int(flagsuccess[i].strip('obj_')) + maxstep * int(roundindex[i]) name = Mnames[Mi] source = catalog.entries[name].add_source( bibcode='2015ApJS..219...12A') for j in range(5): catalog.entries[name].add_photometry( time=str(result[i]['MJD']), u_time='MJD', telescope='SDSS', band=listfilter[j], magnitude=str(result[i][listfilter[j]]), e_magnitude=str(result[i]['err_' + listfilter[j]]), source=source) catalog.journal_entries() return
fiberID = dz.GetParameter_ObjLog(CodeName, FileFolder, 'SDSS_Fiber', Assumption = 'float') plate = dz.GetParameter_ObjLog(CodeName, FileFolder, 'SDSS_Plate', Assumption = 'float') obj_table = SDSS.query_specobj(mjd = mjd, plate = plate, fiberID=fiberID) if obj_table != None: #print Name, str(ephem.hours(math.radians(obj_table['ra'][0]))), str(ephem.degrees(math.radians(obj_table['dec'][0]))), '\n' SDSS_RA = obj_table['ra'][0] SDSS_DEC = obj_table['dec'][0] SDSS_RA_hours = str(ephem.hours(math.radians(obj_table['ra'][0]))) SDSS_DEC_hours = str(ephem.degrees(math.radians(obj_table['dec'][0]))) co = coords.SkyCoord(float(SDSS_RA), float(SDSS_DEC), unit="deg") Obj_query = SDSS.query_crossid(co, photoobj_fields=['modelMag_u', 'modelMag_g', 'modelMag_r']) mag_u, mag_g, mag_r = Obj_query['modelMag_u'][0], Obj_query['modelMag_g'][0], Obj_query['modelMag_r'][0] website = "http://dr12.sdss3.org/spectrumDetail?mjd={mjd}&fiber={fiber}&plateid={plateid}".format(mjd = mjd, fiber = fiberID, plateid = plate) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_RA_deg', SDSS_RA) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_DEC_deg', SDSS_DEC) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_RA_Hour', SDSS_RA_hours) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_DEC_Hour', SDSS_DEC_hours) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_u_magModel', mag_u) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_g_magModel', mag_g) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_r_magModel', mag_r) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'SDSS_g_magModel', mag_g) dz.SaveParameter_ObjLog(CodeName, FileFolder, 'URL_SDSS', website) SDSS.cache_location = FileFolder
'Orbital Eccentricity','Ring System?',\ 'Global Magnetic Field?', 'Number of Moons']) unidades = [ 'kg', 'km', 'kg/m**3', 'm/s**2', 'km/s', 'hour', 'hour', 'km', 'km', 'km', 'day', 'km/s', 'degree', 'degree', 'deg_C', 'Ba' ] for i, j in enumerate(col_unidades): SS_unid[j].unit = unidades[i] from astroquery.sdss import SDSS coorden = SkyCoord(18.23171046, 0.98136156, unit=u.degree) bus_var = [ 'ra', 'dec', 'psfMag_g', 'psfMagErr_g', 'psfMag_r', 'psfMagErr_r', 'psfMag_i', 'psfMagErr_i', 'psfMag_z', 'psfMagErr_z' ] busqueda = SDSS.query_crossid(coorden, photoobj_fields=bus_var) Objetos = Table.read(paginaD + 'FGal.tbl', format='ascii.ipac') coorden = SkyCoord(Objetos['ra'], Objetos['dec'], unit=u.degree) busqueda = SDSS.query_crossid(coorden, obj_names=Objetos['nombre']) from astropy.table import join busqueda.rename_column('obj_id', 'nombre') resultado = join(Objetos, busqueda, keys='nombre', join_type='left') resultado['gz'] = resultado['psfMag_g'] - resultado['psfMag_z'] resultado[['nombre', 'gz', 'J']] UGC10214_coord = SkyCoord.from_name('UGC 10214') UGC10214_2mass = Table.read('UGC10214.tbl', format='ascii.ipac')