pythonpyephem库卫星轨道计算及两行轨道参数TLE

pythonpyephem库卫星轨道计算及两⾏轨道参数TLE
python pyephem库 卫星轨道计算及两⾏轨道参数TLE
作者:⼩卫星
操作系统: Ubuntu18.04 LTS
IDE: PyCharm Community 2018.1
Python 2.7
1、安装
$ pip install pyephem
/pyephem/
2、测试
先颗卫星,事实上可以⽤python⾃动弄下来,进北美防空司令部的:
celestrak/NORAD/
可以看到北⽃卫星的两⾏轨道参数(TLE),把前三⾏复制进来,⾃⼰的经纬度可以在google上:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import ephem
#/pyephem/quick.html
me = ephem.Observer()
me.lon, me.lat, me.elevation = '108.5000', '34.5000', 800.0
line1 = "BEIDOU G1"
line2 = "1 36287U 10001A  18194.84994825 -.00000297  00000-0  00000-0 0  9999"
line3 = "2 36287  1.4745  3.9768 0004214 156.8560 216.8921  1.00270561 31144"
sat = adtle(line1, line2, line3)
me.date = '2018/7/14'#w()
satpute(me)
print(sat.az * 180.0 / 3.1416) #卫星的⽅位⾓
print(sat.alt * 180.0 / 3.1416 ) #卫星的仰⾓
print(sat.range_velocity) #卫星相对于观察者的运动速率,为正,表⽰卫星正在远离观察者。
输出为:
/home/wy/PycharmProjects/wP2/venv/bin/python /home/wy/.PyCharmCE2018.1/config/scratches/wyEPH1.py
131.486721673
38.9986189838
-4.0736*******
Process finished with exit code 0
表⽰卫星仰⾓为39度,⽅位⾓为131.5度。这是个GEO卫星,所以改变时间,结果变化不⼤。但是因为星历有时效性,时间设的和星历时间太远,则程序计算误差极⼤(部分原因是卫星本⾝会进⾏轨道调整)。再设的过⼤,程序不会计算。
如2018年7⽉14⽇download的星历,设时间为‘2008/7/10’,会报错:
me.date = '2008/7/14'#w()
/home/wy/PycharmProjects/wP2/venv/bin/python /home/wy/.PyCharmCE2018.1/config/scratches/wyEPH1.py Traceback (most recent call last):
File "/home/wy/.PyCharmCE2018.1/config/scratches/wyEPH1.py", line 13, in <module>
satpute(me)
ValueError: TLE elements are valid for a few weeks around their epoch, but you are asking about a date 3651 days from the epoch
Process finished with exit code 1
滚筒电机
3、卫星轨道参数来源
卫星轨道来源其实有很多,主要有两个:
(1)彗星、⼩⾏星等⾃然天体轨道
International Astronomical Union (IAU)的Minor Planet Center (MPC),以接收和分发⾃然天体轨道为⽬的,⽹站:
www.minorplanetcenter/iau/Ephemerides/Soft03.html
例如:www.minorplanetcenter/iau/Ephemerides/
# From MPC106342
C/1995 O1 (Hale-Bopp),e,89.0947,283.1330,130.8144,183.1685,0.0003976,0.99490338,0.0000,03/29.3733/1997,2000,g -2.0,4.0
格式为xephem格式,需要⽤readdb函数读取:
喷淋吸收塔
ephwy = addb("C/1995 O1 (Hale-Bopp),e,89.0947," + \
"283.1330,130.8144,183.1685,0.0003976,0.99490338,0.0000," + \
"03/29.3733/1997,2000,g -2.0,4.0")
ephwypute('2018/7/14')
print(ephwy.name)
print("%s %s" % (ephwy.ra, ephwy.dec))
print("%s %s" % (stellation(ephwy), ephwy.mag))
输出为:
C/1995 O1 (Hale-Bopp)插板闸门>拉挤模具
0:30:39.87 -85:43:48.2
('Oct', 'Octans') 22.21
(2)⼈造卫星、船、器
两⾏轨道数据(TLE,Two-Line Orbital Element),由美国celestrak发明创⽴,是⽤于描述太空飞⾏体位置和速度的表达式。
celestrak/NORAD/elements/
电子标签生产设备
例如:
celestrak/NORAD/
最后⼀⾏(2018.07.14基线)
BEIDOU-3 M8
1 43246U 18029B  18194.72004803 -.00000064  00000-0  10000-3 0  9991
2 43246  55.0642  39.6410 0004409 332.7876  76.6516  1.8623294
3  1964
第0⾏,将第1⾏视为0⾏,是 通⽤名称,最长为24个字符。
第1⾏和第2⾏是标准的卫星星历格式(TLE格式),每⾏69个字符,包括0~9,A~Z(⼤写)、空格、点和正/负号。
卫星星历编号含义:
第1⾏:
(1)43246U。43246是北美防空司令部(NORAD)⾃⼰给的卫星编号。U代表不保密。C、S都是NORAD⾃⼰才能看到,是保密的。
(2)18029B。国际编号,18表⽰2018年发射,029表⽰是这⼀年的第29次发射,B则表⽰是⼀箭多星,依次有A、B、C....  。北⽃的MEO卫星都是⼀箭双星,所以只有A、B。
(3)18194.72004803。表⽰这组轨道数据的时间点,18是2018年,194表⽰第194天,也就是7⽉14⽇。72004803表⽰这⼀天⾥的时刻。
(4).00069181  13771-5  44016-2。为轨道模型参数。
(5)0。为轨道模型类型,SGP4/SDP4轨道模型。
(6)999。表⽰是该空间飞⾏器的第999组TLE参数,我错略把各种卫星看了下,发现都是999。
(7)7。为校验位。
第2⾏:
(1)43246。NORAD卫星编号。
(2)55.0642。轨道倾⾓。
(3)39.6410。升交点⾚经。
(4)0004409。轨道偏⼼率,实际值为0.0004409。
(7)332.7876。近地点幅⾓。
(8)76.6516。平近点⾓。表⽰这组TLE对应的时刻时,卫星在轨道的什么位置。
(9)1.86232943。每天环绕地球的圈数,其倒数就是周期。
版税计算(10)196。发射以来飞⾏的圈数,可以推算,196/1.86232943=105.24454天就是多少时间之前发射的。
查下新闻就知道:2018年3⽉30⽇1时56分,中国在西昌卫星发射中⼼⽤长征三号⼄运载⽕箭(及远征⼀号上⾯级),以“⼀箭双星”⽅式成功发射第三⼗、三⼗⼀颗北⽃导航卫星。这两颗卫星属于中圆地球轨道卫星,是中国北⽃三号第七、⼋颗组⽹卫星。是吻合的。
(11)4 。校验位。
这个东西强⼤到发射后⼏天就有数据,⽽且精确度极⾼,但是使⽤时务必注意其中的时间都是UTC时间,中国⽤的是UTC+8,因此时间加8⼩时才能对应上。

本文发布于:2024-09-23 19:20:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/175843.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:轨道   时间   计算   参数   格式   编号
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议