Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from astroquery.simbad import Simbad
- from astropy.coordinates import SkyCoord
- import astropy.units as u# Berdyugin2001
- colnames = ['StarName','gap1','PD','gap2','r_PD','gap3','e_Pol','gap4','theta','gap5','e_theta','gap6',\
- 'Dist','gap7','r_Dist','gap8','GLON','gap9','GLAT','gap10','SpType','gap11','HD','gap12',\
- 'HDnum','gap13','SAO','gap14','SAOnum']collengths = [len('BD+21.2377p'),1,len('0.21'),1,1,1,len('0.06'),1,len(' 52'),1,len(' 6'),1,\
- len(' 589'),1,1,1,len('237.87'),1,len(' 76.51'),3,\
- len('K1III'),2,len('HD112874'),1,3,1,len('82769')]
- fop = open('Berdyugin2001/table1.dat')
- rows = []
- for line in fop.readlines():
- rowdict = {}
- traversed = 0 if 'Var' in line:
- continue # Skip stars that are known to be variable for ii in range(len(colnames)):
- try:
- val = line[traversed:traversed+collengths[ii]]
- if ii > 0: # to keep the name column as string
- try:
- rowdict[colnames[ii]]= float(val)
- except:
- rowdict[colnames[ii]]= val
- else:
- rowdict[colnames[ii]]= val
- traversed += collengths[ii]
- except IndexError:
- rowdict[colnames[ii]]=line[traversed:]
- #print rowdict['StarName'].replace('.',' ')
- # Query Simbad to get right coords
- result_table = Simbad.query_object(rowdict['StarName'].replace('.',' '))
- if result_table == None: # Then the query did not find a match, skip this source
- continue
- rahms = result_table['RA'][0].split()
- decdms = result_table['DEC'][0].split()
- star = SkyCoord('%sh%sm%ss'%(rahms[0],rahms[1],rahms[2]), '%sd%sm%ss'%(decdms[0],decdms[1],decdms[2]),frame='icrs')
- rowdict['ra'] = star.icrs.ra.deg
- rowdict['dec'] = star.icrs.dec.deg
- rowdict['l'] = star.galactic.l.deg
- rowdict['b'] = star.galactic.b.deg
- rows.append(rowdict)berd2001_tab = rows
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement