以下是代码:
from astropy.coordinates import SkyCoord, EarthLocation, AltAz, ICRS
from astropy.time import Time
from astropy import units as u
# 观测地点的经纬度(例如,长春)
latitude = 43.976850 * u.deg # 纬度
longitude = 125.394173 * u.deg # 经度
elevation = 0 * u.m # 海拔,单位:米
# 观测时间(UTC)
utc_time = Time.now().utc # 当前UTC时间
# 创建一个观测点对象
observatory = EarthLocation(lat=latitude, lon=longitude, height=elevation)
# 恒星的赤经和赤纬(这里以五车二为例)
star_ra = (5+16/60+41.36/3600) * u.hourangle # 赤经
star_dec = (45+59/60+52.8/3600)* u.deg # 赤纬
# 创建恒星在ICRS坐标系中的坐标
star_icrs = SkyCoord(ra=star_ra, dec=star_dec, frame='icrs')
# 将恒星坐标从ICRS转换为观测点的地平坐标系(AltAz)
star_altaz = star_icrs.transform_to(AltAz(obstime=utc_time, location=observatory))
# 获取方位角和高度角
azimuth = star_altaz.az.to_string(unit=u.degree, sep=':', pad=True)
altitude = star_altaz.alt.to_string(unit=u.degree, sep=':', pad=True)
print(f"恒星的方位角: {azimuth}")
print(f"恒星的高度角: {altitude}")
输出结果:
恒星的方位角: 03:41:57.12642613
恒星的高度角: 00:07:31.21885525
十分准确,nice!!!