python – pyEphem – 计算非土卫星的位置
我试图获得一个不绕地球轨道运行的卫星的地球距离和正确的提升(相对于我在地球上的观测点),但是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还是Jupiter? 似乎是相对于Observer,因为如果我改变位置,值也会改变. 我已经阅读了the documentation并且我知道这些属性没有为卫星定义,但我不知道如何计算相对于地球的属性,因为月球体的附加定义属性:
这样做: 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) 鉴于我知道木星相对于观察者的距离和正确提升,我如何计算moonGanymede的距离和正确提升(也相对于观察者)? 我正在使用pyEphem 3.7.5.1(使用Python 2.7). 解决方法
只是一些想法;您可能需要执行两个步骤.
>获取卫星相对于母行星的位置 你已经做了1,并且很容易做到2.将所有值转换为x,y,z然后再添加回角度.或者我相信你/ ephym可以直接为你做这件事. HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |