我搜索了大量的PyEphem网页,下载了代码并调查了对象,但我还没有找到一种方法来获取地球卫星在一些名义惯性坐标系中的地球中心直角坐标。我错过了一些明显的事吗?我正在寻找'传统的'x,y,z和x-dot,y-dot,z-dot。非常感谢您的任何建议。
答案 0 :(得分:5)
好问题!
libastro
内的卫星定位例程在内部使用x
y
z
坐标,但libastro
在Python有机会看到它们之前抛弃它们他们。我本可以尝试修补libastro
然后PyEphem来提供数据,但在研究你的问题时,我发现最近做了大量工作来更新SGP4卫星跟踪算法并为其提供测试套件: / p>
http://www.celestrak.com/publications/AIAA/2006-6753/
在这一发现的刺激下,我做得更好:我花了一个周末基于这个参考实现创建一个新的纯Python sgp4
包!
http://pypi.python.org/pypi/sgp4
很快我将围绕这个卫星预测引擎建立一个名为Skyfield的整个天文库,但目前你应该可以直接从Python Package Index(上面的链接)下载它并将其称为raw以获得你的传统坐标:
from sgp4.earth_gravity import wgs72
from sgp4.io import twoline2rv
line1 = ('1 00005U 58002B 00179.78495062 '
'.00000023 00000-0 28098-4 0 4753')
line2 = ('2 00005 34.2682 348.7242 1859667 '
'331.7664 19.3264 10.82419157413667')
satellite = twoline2rv(line1, line2, wgs72)
position, velocity = satellite.propagate(
2000, 6, 29, 12, 50, 19)
请尝试一下,让我知道它是否适用于您的机器!