gpt4 book ai didi

python - 地球到木星距离与 Skyfield

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:33 25 4
gpt4 key购买 nike

我正在尝试使用 Skyfield 绘制从地球到太阳系行星的 au 距离作为时间的函数。这非常简单,甚至在包主页的首页给出了。然而,虽然这对水星、金星和火星非常有效,但对其他行星却不起作用。我不熟悉 JPL 星历文件,但似乎 Jupiter 在文件 de421.bsp 中没有 key 条目可以解释这个问题。

这是一个最小的例子(来自主页的例子):

from skyfield.api import load, now

planets = load('de421.bsp')
earth, planet = planets['earth'], planets['jupiter']

jd = now()
position = earth.at(jd).observe(planet)
ra, dec, distance = position.radec()

print(distance)

错误如下。请注意,如果您在上面的代码中将“jupiter”替换为“mars”,它不会崩溃。

---->  earth, planet = planets['earth'], planets['jupiter']
KeyError: "kernel 'de421.bsp' is missing 'JUPITER' - the targets it supports are:
SOLAR SYSTEM BARYCENTER, MERCURY BARYCENTER, VENUS BARYCENTER, EARTH BARYCENTER,
MARS BARYCENTER, JUPITER BARYCENTER, SATURN BARYCENTER, URANUS BARYCENTER,
NEPTUNE BARYCENTER, PLUTO BARYCENTER, SUN, MERCURY, VENUS, MOON, EARTH, MARS"

我是否以错误的方式使用了星历文件(重心错误?)或者这只是 de421.bsp 文件的限制?我在 Skyfield 网站 ( here ) 上阅读了星历文件的描述,但不确定我是否完全理解它。

关于如何使用 Skyfield 执行地球-木星距离的简单计算有什么建议吗?

谢谢!

最佳答案

如错误所述,您需要使用 JUPITER BARYCENTER 而不是 jupiter

关于python - 地球到木星距离与 Skyfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34873924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com