2013-10-17 3 views
2
e = ephem.readtle(...) 
e.compute('2012/02/04 07:55:00') 

멀리서 볼 수 있듯이 해수면을 기준으로 한 거리 측정 단위는 e.elevation입니다. 지금은 a.elevation/1000 + 6371을 사용하여 지구 중심으로부터의 거리를 추정하고 있습니다.지구 센터에서 거리를 얻는 방법?

천체력 계산을 위해 요청한 시점의 정확한 지구 중심 거리가 필요하다고 확신합니다. 이 거리가 어딘가에 노출되어 있습니까? 그렇지 않다면 왜 변할 수 있습니까?

답변

1

나는 대답이 필요한 정보를 얻기 위해 C 코드의 깊은 안쪽에서 지구의 타원형 모델을 Python으로 노출해야한다고 생각했습니다. 그러나, 단지 지구 위성 코드를 통과하는 데, 그것은 (earthsat.c에서) 그것의 높이로 지구 중심에서 위성까지의 거리를 변환하는 방법은 간단 밝혀 : 분명히 프로그래머가 계획

#if SSPELLIPSE 
#else 
    *Height = r - EarthRadius; 
#endif 

을 언젠가는 타원형의 지구를 구현하고 새로운 코드를 지키기 위해 #if 문을 준비했지만 아무 것도 쓴 적이 없었습니다. 고도가

#define EarthRadius 6378.16    /* Kilometers   */ 

때문에, 내가 미터, 생각 :

그래서 당신은으로 정의 된 값 EarthRadius을 추가하여 지구 중심으로부터의 거리로 다시 높이 ("상승")로 변환 할 수 있습니다 EarthRadius1000.0을 곱하거나 올바른 결과를 얻으려면 표고를 1000.0으로 나눠야합니다.

+0

자, 이제 시작하겠습니다. 'r'을 직접 노출하는 것은 어떨까요? 나는 미래에 변할 수있는 구현 세부 사항에 의존하고 싶지 않습니다. – letmaik