天空场寻找外行星
skyfield finding outer planets
我正在尝试获取外行星的位置,我只是想确保我的代码正确无误。
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 是执行此操作的正确方法吗?
我不太了解 skyfield 的调用情况,但当我想验证使用其前身 pyephem 获得的计算结果时,我通常会访问 JPL 的 Horizon 网站。如何在其界面中设置相同的参数,其本身就很清楚。您获得的结果通常会略有不同,但足够接近以验证您是否在正确的轨道上。
url是https://ssd.jpl.nasa.gov/horizons.cgi
使用土星的质心非常好。如果你使用行星的中心,你将得到的结果只会以角秒为单位有所不同,如果那样的话。土星系统(行星+卫星)的质心无论如何都可能位于行星内部,因为它的质量比它的卫星大得多。
我正在尝试获取外行星的位置,我只是想确保我的代码正确无误。
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 是执行此操作的正确方法吗?
我不太了解 skyfield 的调用情况,但当我想验证使用其前身 pyephem 获得的计算结果时,我通常会访问 JPL 的 Horizon 网站。如何在其界面中设置相同的参数,其本身就很清楚。您获得的结果通常会略有不同,但足够接近以验证您是否在正确的轨道上。
url是https://ssd.jpl.nasa.gov/horizons.cgi
使用土星的质心非常好。如果你使用行星的中心,你将得到的结果只会以角秒为单位有所不同,如果那样的话。土星系统(行星+卫星)的质心无论如何都可能位于行星内部,因为它的质量比它的卫星大得多。