在Skyfield中从方位角和高度角找到(赤经,赤纬)

3
我在地球上有一个定向天线,我想知道它指向什么位置的ra,dec坐标。我想使用新的skyfield库进行计算,因为pyephem已经不再开发。
计算我的地球站位置很容易:
planets = load('de421.bsp')
earth = planets['earth']
paris = earth + Topos('48.839059 N', '2.310147 E')

但是我无法确定如何从这个点表示一个az,alt组合。我看到了from_altaz方法,但我无法让它工作。
如果我尝试从一个地理位置:
antenna = paris.from_altaz(alt_degrees=41.1,az_degrees=180)

Traceback (most recent call last):
  File "./compute.py", line 13, in <module>
    antenna = paris.from_altaz(alt_degrees=41.1,az_degrees=180)
AttributeError: 'VectorSum' object has no attribute 'from_altaz'

最初的回答:如何做到这一点?
如何管理做到这一点呢?
1个回答

4
你尝试使用的 from_altaz 函数来自于 position_lib 库。由于该函数适用于固定和移动物体(它们随时间而不同),因此它是一个时间函数。所以你需要使用 .at 函数将时间指定给 observer
from skyfield import api

ts = api.load.timescale()
planets = api.load('de421.bsp')
earth = planets['earth']

antenna = earth + api.Topos('48.839059 N', '2.310147 E')

t = ts.now()
direction = antenna.at(t).from_altaz(alt_degrees=41.1, az_degrees=180)

ra, dec, distance = direction.radec()
print(ra)
print(dec)

这将得到以下结果:

04小时 43分 26.56秒
-00度 05分 39.5秒


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接