我正在尝试获取不绕地球运行的卫星的地球距离和赤经(相对于我在地球上的观察点),但 pyEphem 没有返回与其他太阳体相同的属性。
以木卫三(木星最大的卫星)为例:
import math, ephem
Observer = ephem.city('London')
Observer.date = '2013-04-23'
Observer.pressure, Observer.elevation = 0, 100
moonGanymede = ephem.Ganymede(Observer)
print math.cos(moonGanymede.ra) # right ascension
print moonGanymede.earth_distance * ephem.meters_per_au # distance
我收到此错误:
AttributeError: 'Ganymede' object has no attribute 'earth_distance'
该ra
属性存在,但它是相对于我的Observer
还是相对于木星的?
似乎是相对的Observer
,因为如果我改变位置,值也会改变。
我已经阅读了文档,我知道这些属性不是为卫星定义的,但我不知道如何计算相对于地球的那些属性,因为月球体的附加定义属性:
在行星卫星上,还设置:
月球相对于行星的位置(以行星半径测量)
x — offset +east or –west y — offset +south or –north z — offset +front or –behind
正在做:
print moonGanymede.x, moonGanymede.y, moonGanymede.z
输出:
-14.8928060532 1.52614057064 -0.37974858284
由于木星的平均半径为 69173 公里,这些值转化为:
moonGanymede.x = 1030200 kilometers (west)
moonGanymede.y = 105570 kilometers (south)
moonGanymede.z = 26268 kilometers (behind)
鉴于我知道木星相对于 的距离和赤经,Observer
我如何计算moonGanymede
(也相对于Observer
)的距离和赤经?
我正在使用 pyEphem 3.7.5.1(使用 Python 2.7)。