2017-05-18 52 views
1

我想获得外部行星的位置,我只是想确保我有正确的代码。skyfield发现外部行星

lon = 45.138967 
lat = -93.342730 

ts = load.timescale() 
t = ts.now() 
print(t.utc_jpl()) 

planets = load('de422.bsp') 

body = planets['SATURN_BARYCENTER'] 
earth = planets['Earth'] 

myLocation = earth + Topos(lat, lon) 
apparent = myLocation.at(t).observe(body).apparent() 

alt, az, distance = apparent.altaz() 
print(alt.degrees) 
print(az.degrees) 
print(distance) 

正在使用SATURN_BARYCENTER正确的方法来做到这一点?

回答

2

我不知道skyfield会调用所有的功能,但是当我想验证使用其前身pyephem获得的计算时,我通常会去JPL的Horizo​​n网站。它非常自我解释如何在其界面中设置相同的参数。你得到的结果通常会略有不同,但足够接近以验证你是在正确的轨道上。

URL是https://ssd.jpl.nasa.gov/horizons.cgi

利用土星的重心是完全正常的。如果你使用地球的中心,你会得到的结果只有在几秒内才会有所不同。土星系统的重心(行星+卫星)很​​可能位于行星内部,因为它的质量比卫星大得多。