使用python计算任意恒星相对于观测点的方位角度和俯仰角度

以下是代码:

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!!! 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值