如何从 PyEphem 获取物体的地球惯性坐标或地心坐标?

How to get earth-inertial or earth-centered coordinates of objects from PyEphem?

我想获取各种 XYZ 坐标中的物体坐标,而不是它们在天空中出现的位置。我感兴趣的是:

  1. ECE:“以地球为中心 惯性" (不是随地球自转)

  2. ECEF:“以地球为中心 Earth-Fixed"(不是惯性的,也 叫做 "Earth Centered Rotational"

  3. 和某种太阳系或黄道坐标(太阳或 重心居中)。

我已经安装了 PyEphem,运行 一些示例,并且开始了解什么是 ,但到目前为止,我发现的示例似乎都集中在事物如何出现在天空。

从 link 到有用的 "how to" 或简单的示例都会有所帮助。现在我看不到标准选项的去向:

In [55]: mars.
mars.a_dec              mars.g_dec              mars.radius
mars.a_epoch            mars.g_ra               mars.rise_az
mars.a_ra               mars.hlat               mars.rise_time
mars.alt                mars.hlon               mars.set_az
mars.az                 mars.hlong              mars.set_time
mars.circumpolar        mars.mag                mars.size
mars.compute            mars.name               mars.sun_distance
mars.copy               mars.neverup            mars.transit_alt
mars.dec                mars.parallactic_angle  mars.transit_time
mars.earth_distance     mars.phase              mars.writedb
mars.elong              mars.ra

In [55]: mars.

PyEphem 包装的旧 C 库并不总是使用 (x, y, z) 内部坐标,并且当它这样做时它不会暴露它们以便 Python 可以看到它们是什么 - (x, y, z) 一旦计算出角度,坐标就会被丢弃。

对于同一作者(碰巧是我!)的新天文学库,它已被完全重写,因此 (x, y, z) 确实每一步都有坐标,试试Skyfield:

http://rhodesmill.org/skyfield/

特别是,看看像 .position.km.position.au 这样的属性如何让你得到任何位置并将它分解成 (x, y, z)直角坐标:

http://rhodesmill.org/skyfield/positions.html