Cesium——卫星轨迹TLE数据转为CZML并显示(tle2czml)
Cesium——卫星轨迹TLE数据转为CZML并显示(tle2czml)
·
效果如图:

01.获取卫星TLE数据
TLE数据介绍
BEIDOU 3 G3 1 45807U 20040A 23087.80257715 -.00000362 00000-0 00000+0 0 9996 2 45807 0.8428 319.4828 0006765 332.9703 292.8644 1.00278351 10287
第一行:
| BEIDOU 3 G3 | 卫星名称 |
第二行:
| 1 | 行号 |
| 45807 | 卫星编号 |
| U | 卫星类别(U表示不保密,可供公众使用的;C 表示保密,仅限NORAD使用;S表示保密的,仅限NORAD使用) |
| 20 | 卫星发射年份后两位 |
| 040 | 当年发射顺序(第40次发射) |
| A | 发射卫星个数(A表示是第一个,如果一次发射多颗卫星,使用26个英文字母排序;如果超过了26个编号,则使用两位字母,如AA、AB、AC编号) A |
| 23 | TLE历时(年份后两位) |
| 087.80257715 | TLE历时 (用十进制小数表示一年中的第几日和日中的小数部分) |
| -.00000362 | 平均运动的一阶时间导数,用来计算每一天平均运动的变化带来的轨道漂移,提供给轨道计算软件预测卫星的位置。两行式轨道数据使用这个数据校准卫星的位置 |
| 00000-0 | 平均运动的二阶时间导数,用来计算每一天平均运动的变化带来的轨道漂移,提供给轨道计算软件预测卫星的位置 |
| 00000-0 | BSTAR拖调制系数 |
| 0 | 美国空军空间指挥中心内部使用的为1;美国空军空间指挥中心以外公开使用标识为0。 |
| 999 | 星历编号,TLE数据按新发现卫星的先后顺序的编号 |
| 6 | 校验和,指这一行的所有非数字字符,按照“字母、空格、句点、正号= 0;负号=1”的规则换算成0和1后,将这一行中原来的全部数字加起来,以10为模计算后所得的和。 |
第三行:
| 2 | 行号 |
| 45807 | 卫星编号 |
| 0.8428 | 轨道的交角是指天体的轨道面和地球赤道面之间的夹度,用0~90°来表示顺行轨道(从地球北极上空看是逆时针运行);用90~180°表示逆行轨道(从地球北极上空看是顺时针运行 |
| 319.4828 | 升交点赤经,升交点赤经是指卫星由南到北穿过地球赤道平面时,与地球赤道平面的交点 |
| 0006765 | 轨道偏心率,轨道离心率是指卫星椭圆轨道的中心点到地球的球心点的距离(c)除以卫星轨道半长轴(a)得到的一个0(圆型)到1(抛物线)之间的小数值 |
| 332.9703 | 近地点幅角 |
| 292.8644 | 平近点角 |
| 1.00278351 | 每天环绕地球的圈数 |
| 1028 | 发射以来飞行的圈数 |
| 7 | 校验和 |
TLE数据在Space-Track.Org网站获取,右侧可直接查看TLE数据

02.转为CZML(tle2czml)
最开始我也去找了一些方法,但是都用不太好,特别是那种在线转为czml的网址,我打开后就变为18r网站。。。。离谱
最后是通过使用python库转换成功,首先安装tle2czml库
pip install tle2czml
然后通过如下代码就可以生成czml文件:
import tle2czml
tles = '''BEIDOU 3 G3
1 45807U 20040A 23087.80257715 -.00000362 00000-0 00000+0 0 9996
2 45807 0.8428 319.4828 0006765 332.9703 292.8644 1.00278351 10287
BEIDOU 3 G2
1 45344U 20017A 23087.92549644 -.00000147 00000-0 00000+0 0 9995
2 45344 1.9932 7.5317 0001608 39.8409 191.8663 1.00270978 11478'''
czml = tle2czml.tles_to_czml(tles)
print(czml)
fo = open("test.czml", "w")
fo.write(czml)
fo.close()
我在使用tle2czml的时候有报错:
cannot import name 'as_shape' from 'pygeoif.geometry'
解决方法,将tle2czml库中的czml.py框住部分改为如下:

运行代码之后就可以得到test.czml文件
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)