PyEphem under the hood - how does it calculate position of planets?

喜夏-厌秋 提交于 2019-12-10 17:55:40

问题


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?

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

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.

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

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

@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.


回答1:


According to the PyEphem Readme

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.

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



来源:https://stackoverflow.com/questions/34487170/pyephem-under-the-hood-how-does-it-calculate-position-of-planets

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!