引擎盖下的PyEphem-如何计算行星的位置? [英] PyEphem under the hood - how does it calculate position of planets?

查看:287
本文介绍了引擎盖下的PyEphem-如何计算行星的位置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在太空SE中,建议我使用PyEphem从两行元素计算轨道.现在,我很好奇它是如何计算内置"太阳系物体的,例如行星及其卫星.它是否使用标准 JPL星历表之一(也

In space SE it was suggested I use PyEphem to calculate orbits from two-line elements. Now I'm curious how it calculates "build-in" solar system objects like the planets and their satellites. Does it use one of the standard JPL ephemerides (also here), or something else?

到目前为止,我仍然无法找到 PyEphem

So far I couldn't find out looking at the PyEphem or XEphem websites.

例如,JPL星历表是通过(在有限的时间内)对轨道进行积分而生成的(松散地说),同时与大量观测数据进行比较以得出一组轨道参数.然后将其集成到很远的将来和过去,并在固定时间列出结果.此职位表(及其他内容)可以称为 ephemeris .

For example the JPL ephemerides are generated (loosely speaking) by integrating orbits over a limited period of time while comparing to a large body of observed data to arrive at a set of orbital parameters. Then it is integrated far into the future and past, and results are tabulated at fixed times. This table of positions (and other things) can be called an ephemeris.

然后,通过在时间段之间进行插值来使用星历表-在这种情况下,使用表中给出的Chebyshev多项式的系数.

The ephemeris is then used by interpolating between time periods - in this case using coeficients of Chebyshev polynomials given in the table.

例如,可以读取JPL DE405 星历. python模块 de405

The JPL DE405 ephemeris for example can be read with the python module de405

@Mattexx在下面指出,XEphem正在使用名为libastro的例程,而PyEphem可能正在执行相同的操作.所以我想知道它是用来计算位置的-算法和观察到的数据集.

@Mattexx has pointed out below that XEphem is using a routine called libastro, and that PyEphem is probably doing the same. So I'd like to know what it is using to calculate positions - the algorithm and observed data set.

推荐答案

根据 PyEphem自述文件

基础数字例程用C编码,并且是相同的 驱动流行的XEphem天文学应用程序,其作者, 艾尔伍德·查尔斯·唐尼(Elwood Charles Downey)慷慨地同意将其用于 PyEphem.

The underlying numeric routines are coded in C and are the same ones that drive the popular XEphem astronomy application, whose author, Elwood Charles Downey, generously gave permission for their use in PyEphem.

C库称为libastro.对 libastro来源的检查发现实际上是使用VSOP 87.

The C library is called libastro. Inspection of the libastro source reveals that it is in fact using VSOP 87.

这篇关于引擎盖下的PyEphem-如何计算行星的位置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆