2012-11-30 84 views
7

我以前從未使用pyephem,而且我不擅長衛星定位。 我想利用pyephem來計算使用TLE的衛星位置。 我必須做的東西很容易,這樣的:Pyephem算法參考

tle=["ISS (ZARYA)","1 25544U 98067A 03097.78853147 .00021906 00000-0 28403-3 0 8652","2 25544 51.6361 13.7980 0004256 35.6671 59.2566 15.58778559250029"] 
iss = ephem.readtle(*tle) 
observer = ephem.Observer() 
observer.lon, observer.lat = ('-84.39733', '33.775867')  
observer.date = ephem.Date('2002/4/23 10:10:00.000') 
iss.compute(observer) 
print iss.alt, iss.az, iss.range 

-40:06:46.3 199:08:24.3 8834968.0

這三個變量提供的horizion參考系統衛星的位置。 我不清楚pyephem是如何計算這個值的。我讀過的參考指南:http://rhodesmill.org/pyephem/radec

閱讀文檔,似乎pyephem適用歲差和章動,但在最後兩行的文件,它說:

「請注意,沒有了歲差適用於最後兩組座標中的任何一組,但僅限於第一組座標,這意味着只有「天體測量」位置對應於星圖集中的行,其他位置是所謂的「時代新紀元」座標,並且在觀測本身的當天從天極和天體赤道的方向測量。「

地球歲差是否適用於az和alt?

此外我想知道什麼樣的pyephem模型用於歲差和章動(我真的需要一些參考)。有一個鏈接到Xephem和libastro,但我找不到任何有關算法。 你有什麼建議嗎?

非常感謝!

回答

2

您可以找到PyEphem使用通過各種C語言的文件在其libastro目錄中查找各種算法:

https://github.com/brandon-rhodes/pyephem/tree/master/libastro-3.7.5

但是,爲了回答您的具體問題:歲差,像差,和章動的影響通常只計算地球移動參考框架以外的物體 - 如太陽,行星和遠處恆星等物體。但是,由於地球衛星在我們自己的參考系中行駛,我認爲libastro通常直接比較地球上方衛星的位置和觀測者在地球上的位置,因爲它們已經在同一地方參考範圍。