本文介绍有关使用pyorbital进行近地轨道卫星的相关计算(例如卫星的位置,过境预报) 的一些方法。所述技术已经应用到本站的德累斯顿实验站中。
1 获取两行轨道根数(TLE)数据
两行轨道根数是一种经常更新的参数文件,用来近似描述各种近地轨道卫星的轨道。 这个文件的格式是北美防空司令部(NORAD)的发明,也被美国国家航空航天局(NASA)使用。 很多网站(例如heavens-above.com)和软件也利用这一模型进行计算。
互联网上能找到的TLE文件的下载一般见于Celestrak。
一个典型的TLE文件包含若干个卫星的轨道参数。每个卫星使用三行表示:第一行是卫星名, 第二行(以1开头)和第三行(以2开头)是具体的参数。例如:
METEOSAT-7
1 24932U 97049B 15038.12362774 .00000051 00000-0 00000+0 0 9993
2 24932 9.4729 45.6572 0001152 245.1346 308.1607 1.00270848 63842
NOAA 15
1 25338U 98030A 15037.56233892 .00000206 00000-0 10596-3 0 9997
2 25338 98.7683 36.1524 0010794 182.1810 287.1918 14.25560800870234
METEOSAT-8 (MSG-1)
1 27509U 02040B 15037.16203692 .00000013 00000-0 00000+0 0 9997
2 27509 3.2966 61.5551 0002800 181.1889 315.2413 1.00276238 45647
KALPANA-1 (METSAT 1)
1 27525U 02043A 15036.79891809 -.00000088 00000-0 00000+0 0 9992
2 27525 4.8356 61.5313 0013887 217.4404 218.0699 1.00272233 45449
INSAT-3A
1 27714U 03013A 15037.98333479 -.00000265 00000-0 00000+0 0 9993
2 27714 0.0624 259.4117 0000723 118.4333 206.4059 1.00271690 43356
2 使用pyorbital进行计算
首先,需要在打算运行这一计算的计算机上安装python和pyorbital。安装pyorbital可以通过 pip安装:
$ sudo pip install pyorbital
在如下例子中,如非特殊说明,输入的角度都是角度制:
- 对于高度角范围是0到90度(地平线-天顶),
- 对于方位角是0到360度(北-东-南-西),
- 对于纬度是-90到90度(南半球-赤道-北半球),
- 对于经度是-180到180度(西半球-本初子午线-东半球)。
2.1 计算卫星在某一时刻的位置
示例代码如下:
如需指定一个不同的时刻来进行计算,需要自己构建一个datetime
,请阅读Python的文档。
2.2 列出卫星未来的过境
类似2.1的代码初始化得到orbit
示例,然后使用如下代码:
这样得到的passes
是一个列表(list)类型,每项是一个有3个datetime
类型的tuple
,
代表一次过境,每个tuple
里面的3个变量,
分别表示卫星从地平线升起、达到最大高度角和从地平线落下的时刻。
根据2.1的方法,可以用这些时刻来计算得到卫星此时在地球上的经纬度和高度坐标。 也可以如下计算相对于指定观察者的坐标(方位角和高度角)。
2.3 由给定时刻和观察者坐标计算卫星的方位角和高度角
给定一个datetime
类型的时刻,可以用如下方法得到卫星的相对观察者的位置参数: