e = ephem.readtle(...)
e.compute('2012/02/04 07:55:00')
据我所知,只有e.elevation
作为相对于海平面的距离的度量。目前我正在使用a.elevation/1000 + 6371
来估计距地球中心的距离。
我非常确定星历表计算需要在所要求的时间点确切的地球中心距离。这个距离是否暴露在某个地方,如果没有,为什么不能改变呢?
答案 0 :(得分:1)
我原以为答案是必须将C语言深层内部的椭球模型暴露给Python,以获得所需的信息。但是,刚刚通过地球卫星代码,结果证明它将卫星距地球中心的距离转换为高度的方式很简单(来自earthsat.c
):
#if SSPELLIPSE
#else
*Height = r - EarthRadius;
#endif
显然,程序员计划有一天实现一个椭圆形的地球,并且有#if
语句准备好保护新代码,但从未写过任何代码。
因此,您可以通过添加定义为的值EarthRadius
将高度(“高程”)转换回距离地球中心的距离:
#define EarthRadius 6378.16 /* Kilometers */
由于我认为,以米为单位的高程,您需要将EarthRadius
乘以1000.0
,或者将高程除以1000.0
以获得正确的结果。