我搜索了大量的PyEphem网页,下载了代码,调查了对象,但没有找到一种方法来获得地球卫星在一些名义上的惯性坐标系中的地心直角坐标。我是不是漏掉了什么明显的东西?我在找“传统的”x,y,z和x点,y点,z点。非常感谢您的任何建议。
发布于 2012-08-27 03:28:27
问得好!
libastro内部的卫星定位例程确实在内部使用了x y z坐标,但是libastro在Python有机会看到它们之前就把它们丢弃了。我本可以先尝试修补libastro,然后再修补PyEphem以提供数据,但是在研究您的问题时,我发现最近已经完成了大量的工作来更新SGP4卫星跟踪算法并为其提供测试套件:
http://www.celestrak.com/publications/AIAA/2006-6753/
在这个发现的激励下,我做了一些更好的事情:我花了一个周末基于这个参考实现创建了一个新的纯Python sgp4包!
http://pypi.python.org/pypi/sgp4
很快,我将围绕这个卫星预测引擎构建一个名为Skyfield的完整天文学库,但目前您应该可以直接从Python Package Index (上面的链接)下载它,并调用它以获得您的传统坐标:
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)请尝试一下,让我知道它是否能在你的机器上工作!
https://stackoverflow.com/questions/12093766
复制相似问题