处理 SLR(卫星激光测距)数据的软件包
项目描述
欢迎使用 SLRfield 套餐
该软件包是与 SLR(卫星激光测距)相关的数据处理的科学例程档案。目前,对 SLR 数据的操作包括:
- 从CDDIS(地壳动力学数据信息系统)或EDC(EUROLAS 数据中心)自动下载 CPF(综合预测格式)星历文件;
- 解析 CPF 星历文件;
- 预测目标在地心参考系中的位置,计算激光脉冲的飞行时间;
- 计算GCRF中目标的位置;
如何安装
在 Linux、macOS 和 Windows 架构上,可以通过执行以下命令之一使用 pip 安装二进制轮子:
pip install slrfield
pip install slrfield --upgrade # to upgrade a pre-existing installation
如何使用
下载当前最新的 CPF 星历文件
如果没有提供星历发布中心,CPF星历文件默认从CDDIS下载。
下载所有当前可用的目标
>>> from slrfield import cpf_download
>>> cpf_dir_cddis,cpf_files_cddis = cpf_download() # From CDDIS by default;
>>> print(cpf_dir,cpf_files)
将自动创建存储 CPF 文件的目录,例如CPF/CDDIS/2020-10-02/ 。
下载一组用户指定的目标
>>> sat_lists = ['ajisai','lageos1','etalon2','jason3']
>>> cpf_dir_edc,cpf_files_edc = cpf_download(sat_lists,source = 'EDC',keep=False) # From EDC
注意:通过设置keep = Falsecpf 文件存储目录会预先自动清空。
在特定日期和时间之前下载最新的 CPF 星历文件
>>> sat_lists = ['starlette','lageos1']
>>> date = '2017-01-01 11:30:00'
>>> cpf_dir_cddis,cpf_files_cddis = cpf_download(sat_lists,date)
解析 CPF 星历文件并读取数据
来自解析的 CPF 星历文件的信息包括以下内容:
- 格式
- 格式版本
- 星历来源
- 星历制作日期和时间
- Ephemeris Sequence number
- Target name
- COSPAR ID
- SIC
- NORAD ID
- Starting date and time of ephemeris
- Ending date and time of ephemeris
- Time between table entries (UTC seconds)
- Target type
- Reference frame
- Rotational angle type
- Center of mass correction
- Direction type
- Modified Julian Date
- Second of Day
- Leap Second
- Time moment in UTC
- Target positions in meters
Parse CPF ephemeris files
>>> from slrfield import CPF
>>> cpf_data_cddis = CPF.from_files(cpf_dir_cddis)
>>> print(cpf_data_cddis.info)
Make predictions w.r.t. a site
通过调用方法可以很容易地预测目标相对于给定站点的方位角、高度、距离以及激光脉冲的飞行时间等pred_azalt。默认生成以目标名称命名的输出预测文件。
- 预测有两种模式。如果模式设置为几何模式,那么在某一时刻激光的发射方向将与接收方向重合。在这种情况下,输出预测文件将不包含接收方向和发送方向之间的差异。如果模式设置为明显,则在某一时刻激光的发射方向与接收方向不一致。在这种情况下,输出预测文件将包含接收方向和发送方向之间的差异。默认模式设置为明显。
- 10点(9次)拉格朗日多项式插值法用于插值CPF星历。
- 在预测生成中已经考虑了闰秒的影响。
站的坐标可以是地心坐标(x、y、z)(以米为单位)或大地坐标(经度、纬度、高度)(以度数和米为单位)。默认坐标类型设置为geodetic。
对于大地(经度、纬度、高度)站点坐标
t_start = '2017-01-02 17:06:40'
t_end = '2017-01-03 09:06:40'
t_increment = 0.5 # second
station = [46.877230,7.465222,951.33] # geodetic(lon, lat, height) coordinates in degrees and meters by default
cpf_data_cddis.pred_azalt(station,t_start,t_end,t_increment)
对于地心 (x, y, z) 站点坐标
t_start = '2017-01-02 17:06:40'
t_end = '2017-01-03 09:06:40'
t_increment = 2 # second
station = [4331283.557, 567549.902,4633140.353] # geocentric(x, y, z) coordinates in meters
cpf_data_cddis.pred_azalt(station,t_start,t_end,t_increment,coord_type = 'geocentric',mode='geometric')
在 GCRF 中进行预测
GCRF(Geocentric Celestial Reference Frame)中目标的笛卡尔坐标可以通过调用方法轻松预测pred_xyz。
t_start = '2017-01-02 17:06:40'
t_end = '2017-01-03 09:06:40'
t_increment = 5 # second
cpf_data_cddis.pred_xyz(t_start,t_end,t_increment)
更改日志
-
0.2.0 - 2022 年 2 月 24 日
-
添加了对计算 GCRF 中目标的笛卡尔坐标的支持
-
增加了对快速计算通过站点预测的支持
-
删除了与 TLE 数据相关的模块
-
移除卫星目录查询相关模块
-
-
0.1.17 - 2021 年 11 月 4 日
- 修复使用API从discos远程服务器访问大量数据导致响应失败的问题
- 修复了请求的 URL 长度超过空间轨道服务器容量限制的问题。
- 用颜色改变查询的过程打印样式从静态到动态
- 在 celestrak_query 和 target_query 中添加了对轨道偏心率的支持,包括过滤和排序选项
- 添加了对 target_query 中目标的标准(内在)量值输出的支持
-
0.1.14 — 2021 年 6 月 18 日
修复了无法从 IERS 正常下载 EOP 的问题。
-
0.1.13 — 2021 年 6 月 5 日
现在您可以通过noradids.txt等输入文件将大量目标的 NORAD ID 注入到
target_query. -
0.1.11 — 2020 年 10 月 3 日
CDDIS 将于 2020 年 10 月停止匿名 ftp 对其存档的访问,因此,此软件包实现了从 ftp 到 EARTHDATA 的转换以下载 CPF 文件。
-
0.1.9 — 2020 年 7 月 26 日
添加了下载数据的进度条
-
0.1.5 - 2020 年 6 月 9 日
扩展了以下功能:
- 从SPACETRACK自动下载 TLE/3LE 数据
- 通过设置一系列参数,如质量、形状、RCS(雷达截面)和轨道高度等,从DISCOS(Database and Information System Characterizing Objects in Space)和CELESTRAK数据库中挑选出满足特定需求的空间目标。
- 根据 TLE/3LE 数据计算空间目标的一日预测和多日可见通行证
-
0.0.2 - 2020 年 4 月 21 日
- slrfield软件包已发布。
下一个版本
- 添加函数以下载和解析 CRD(综合激光测距数据格式)观测值