我在地球上有一个定向天线,我想知道它在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'
我所有不同的试验都产生了错误...
我该如何做到呢?
谢谢!
答案 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