从Skyfield中的(方位角,高程)查找(ra,dec)

时间:2019-02-22 12:44:56

标签: astronomy skyfield

我在地球上有一个定向天线,我想知道它在ra,dec坐标中指向何处。我想为此使用新的skyfield库,因为pyephem不再开发了。

很容易计算出我在地球上的位置:

planets = load('de421.bsp')
earth = planets['earth']
paris = earth + Topos('48.839059 N', '2.310147 E')

但是从那时起,我无法弄清楚如何指示az,alt夫妇。我见过from_altaz方法,但无法使其正常工作。

如果我是从topos尝试的:

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 个答案:

答案 0 :(得分:1)

您尝试使用的from_altaz函数来自position_lib。由于这既适用于固定对象也适用于移动对象(随时间而变化),因此它是时间的函数。因此,您需要使用observer函数指定到.at的时间。

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)

结果是:

  

04h 43m 26.56s
  -00deg 05'39.5