使用python计算太阳相对于观测点的方位角和高度角

以下是代码:

from astropy.coordinates import EarthLocation, AltAz, get_sun  
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  # 海拔,单位:米  
  
# 创建一个观测点对象  
observatory = EarthLocation(lat=latitude, lon=longitude, height=elevation)  
  
# 当前的日期和时间(确保是UTC时间或者转换为UTC时间)  
utc_time = Time.now().utc  # 当前UTC时间  
  
# 获取太阳在ICRS坐标系中的位置  
sun_icrs = get_sun(utc_time)  
  
# 将太阳的位置从ICRS坐标系转换到观测点的地平坐标系(AltAz)  
# 这里需要传入观测点的位置和时间  
sun_altaz = sun_icrs.transform_to(AltAz(location=observatory, obstime=utc_time))  
  
# 获取方位角和高度角  
azimuth = sun_altaz.az.to_string(unit=u.degree, sep=':', pad=True)  
altitude = sun_altaz.alt.to_string(unit=u.degree, sep=':', pad=True)  
  
print(f"方位角: {azimuth}")  
print(f"高度角: {altitude}")

计算结果:

方位角: 355:31:09.27999862
高度角: -22:33:15.72880593

 结果正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值