擅长:python、mysql、java
<p>幸运的是,Skyfield是为NumPy数组的时间对象而设计的,它将生成与数组中的对象一样多的位置。以下是描述该功能的文档部分:</p>
<p><a href="http://rhodesmill.org/skyfield/time.html#date-arrays" rel="nofollow noreferrer">http://rhodesmill.org/skyfield/time.html#date-arrays</a></p>
<p>下面是一个完成您描述的任务的示例:</p>
<pre><code>from numpy import arange
from skyfield.api import load, EarthSatellite
iss_tle0 = """\
1 25544U 98067A 18184.80969102 .00001614 00000-0 31745-4 0 9993
2 25544 51.6414 295.8524 0003435 262.6267 204.2868 15.54005638121106
"""
my_earthsat = EarthSatellite(*iss_tle0.splitlines())
tz_offset = -4
ts = load.timescale()
t = ts.utc(2018, 6, 21, tz_offset, 0, arange(24 * 60 * 60))
astrometrics = my_earthsat.at(t)
</code></pre>
<p>这段代码目前不是特别快,因为地球卫星的计算还有待优化,但应该比在一个循环中手动构建多个时间对象更快。在</p>