python归约坐标

2024-06-25 06:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎样才能计算出某个观测站(经度、纬度)在特定日期和时间的恒星位置(ra,dec)?我需要在计算中包括所有元素的全坐标缩减(恒星的自身运动,大气压力和温度…)在

我试过和皮耶芬谈过,但我不确定能不能完成。在

import ephem

polaris = ephem.readdb("Polaris,f|M|F7,2:31:48.704,89:15:50.72,2.02,1")

polaris.compute('2016/3/1 16:22:56')

print polaris.a_ra 
print polaris.a_dec

我也尝试了天体计划,我认为我更接近于解决方案,但仍然不知道如何得到坐标后,减少和添加适当的运动。在

^{pr2}$

Tags: import元素时间温度decraprint观测站
1条回答
网友
1楼 · 发布于 2024-06-25 06:22:28

你可以试试Skyfield,它是PyEphem的继任者,它已经接近1.0了。虽然PyEphem的底层库不存储固有运动,但是如果要应用固有运动,则必须在输入过程中移动所有的恒星,而Skyfield则根据存储在Star对象中的运动来动态地进行。您正在考虑的减少在Skyfield中看起来像这样:

from skyfield.api import load, Star
ts = load.timescale()
t = ts.utc(2016, 4, 16, 15, 30)
planets = load('de421.bsp')
earth = planets['earth']
boston = earth.topos(longitude_degrees=(21, 33, 20.4),
                     latitude_degrees=(+43, 8, 24.6))
barnard = Star(ra_hours=(17, 57, 48.49803),
               dec_degrees=(4, 41, 36.2072),
               ra_mas_per_year=-798.71,
               dec_mas_per_year=+10337.77,
               parallax_mas=545.4,
               radial_km_per_s=-110.6)
astrometric = boston.at(t).observe(barnard)
ra, dec, distance = astrometric.radec()
print(ra)
print(dec)
apparent = astrometric.apparent()
ra, dec, distance = apparent.radec()
print(ra)
print(dec)
alt, az, distance = apparent.altaz(temperature_C=25.0,
                                   pressure_mbar=1013.25)
print(alt)
print(az)

如果您有兴趣,可以在http://rhodesmill.org/skyfield/上找到进一步的文档!在

相关问题 更多 >