飞行动态库
beyond的Python项目详细描述
这个库是为了更好地理解飞行动力学是如何工作的。它 目前没有效率和绩效的意图,目标是 主要是为空间观测开发一个简单的api。
这个库的源可以在github和 在麻省理工学院的执照下。
文档
- Last release (stable)
- Dev (latest)
用法
importnumpyasnpfrombeyond.io.tleimportTlefrombeyond.framesimportcreate_stationfrombeyond.datesimportDate,timedelta# Parse TLEtle=Tle("""ISS (ZARYA) 1 25544U 98067A 19072.15347313 .00000167 00000-0 10147-4 0 9997 2 25544 51.6420 118.6717 0004098 99.2855 123.2259 15.52799885160336""")# Create a station from which to compute the passstation=create_station('KSC',(28.524058,-80.65085,0.0))fororbinstation.visibility(tle.orbit(),start=Date.now(),stop=timedelta(days=1),step=timedelta(minutes=2),events=True):# As all angles are given in radians,# there is some conversion to doazim=-np.degrees(orb.theta)%360elev=np.degrees(orb.phi)r=orb.r/1000.print("{event:10} {tle.name} {date:%Y-%m-%dT%H:%M:%S.%f} {azim:7.2f} {elev:7.2f} {r:10.2f}".format(date=orb.date,r=r,azim=azim,elev=elev,tle=tle,event=orb.eventiforb.eventisnotNoneelse""))# Stop at the end of the first passiforb.eventandorb.event.info=="LOS":break
此库用作Space-Command实用程序的基础。
这个库的常用用法是:
参考文献
许多公式和飞行动力学算法都是基于vallado的 天体动力学与应用基础第4版。