In [104]:
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import numpy as np
import astropy.units as u
import datetime
from astropy.coordinates import SkyCoord, EarthLocation, AltAz, UnitSphericalRepresentation
from astropy.time import Time
In [108]:
# Set up list of targets
vega = SkyCoord.from_name('Vega')
capella = SkyCoord.from_name('Capella')
sirius = SkyCoord.from_name('Sirius')
targets = [vega, capella, sirius]
location = EarthLocation('10d', '45d', 0)
times = Time('1995-01-01 00:00:00') + np.linspace(0, 1, 50)*u.day
def trasform_target_list_to_altaz(times, targets, location=location):
repeated_times = np.tile(times, len(targets))
repeated_targets = np.repeat(targets, len(times))
target_SkyCoord = SkyCoord(SkyCoord(repeated_targets).data.represent_as(
UnitSphericalRepresentation),
representation=UnitSphericalRepresentation)
transformed_coord = targsc.transform_to(AltAz(location=location,
obstime=repeated_times))
altitudes = np.split(transformed_coord.alt, len(targets))
return altitudes
In [109]:
altitudes = trasform_target_list_to_altaz(times, targets)
plt.plot_date(times.plot_date, altitudes[0])
plt.show()
In [110]:
#%matplotlib inline
# Double check by doing one star
vega_altaz = vega.transform_to(AltAz(location=location, obstime=times))
vega_alt = vega_altaz.alt
assert all(vega_alt == altitudes[0])
In [ ]: