I'm trying to obtain coordinates for all frames using the Simbad
class from astroquery
, just like it is shown on the SIMBAD web page
(Basic data section)
I have the following code :
from astroquery.simbad import Simbad
def get():
Simbad.reset_votable_fields()
Simbad.remove_votable_fields('coordinates')
Simbad.add_votable_fields('ra(:;A;ICRS;J2000)', 'dec(:;D;ICRS;2000)')
Simbad.add_votable_fields('ra(:;A;FK5;J2000)', 'dec(:;D;FK5;2000)')
table = Simbad.query_object("Betelgeuse", wildcard=False)
but I'm getting the error:
KeyError: 'ra(:;A;FK5;J2000): field already present. Fields ra,dec,id,otype, and bibcodelist can only be specified once. To change their options, first remove the existing entry, then add a new one.'
Everything I could find in the doc about manipulating votable fields, especially coordinates is this :
Is there a way to get coordinates for all frames sending one query to SIMBAD?
Instead of querying multiple coordinates (which seems impossible with astroquery) from SIMBAD you could convert the coordinates by using
astropy.coordinates.SkyCoord
.For example:
Which is a now a SkyCoord object that can be transformed to other frames:
This can be converted to strings again, for example in
hms dms
formatting:If you want these as additional columns in your table, you can simply add these: